This change eliminates the complexity and improves the concurrency model for telemetry, by separating the live state from the serialized payload sent through the telemetry processor.
Instead of keeping pre-serialized data on live telemetry, we should snapshot the state once at enqueue time and use the frozen snapshot for serialization. This eliminates inconsistencies and possible races on concurrent access.
This change eliminates the complexity and improves the concurrency model for telemetry, by separating the live state from the serialized payload sent through the telemetry processor.
Instead of keeping pre-serialized data on live telemetry, we should snapshot the state once at enqueue time and use the frozen snapshot for serialization. This eliminates inconsistencies and possible races on concurrent access.