Expand description
Unified telemetry record taxonomy.
TelemetryRecord is the single typed surface that every SDK event and
lifecycle signal flows through. Today it carries Protocol (wrapping
crate::events::Event) and Mls (wrapping
crate::mls_observability::MlsLifecycleEvent); additional variants
(periodic metrics snapshots, transport state transitions, routing
decisions, device-capability snapshots) are introduced alongside the emit
sites that populate them in follow-up work.
Names returned by TelemetryRecord::name follow a stable
snake.dot.case grammar compatible with OpenTelemetry conventions: the
string matches [a-z0-9_]+(\.[a-z0-9_]+)+. These names are the canonical
wire identity for a record.
The enum is #[non_exhaustive] so new categories can be added without a
major-version bump. The record intentionally does not derive Serialize:
the name() above is the canonical wire identity, and sinks that need
on-the-wire serialization serialize the inner typed payload
(Event/MlsLifecycleEvent) directly — this avoids maintaining two
parallel naming schemes.
Enums§
- Telemetry
Record - A single typed telemetry emission.