Skip to main content

Module record

Module record 

Source
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§

TelemetryRecord
A single typed telemetry emission.