Skip to main content

offline_protocol/telemetry/
mod.rs

1//! Telemetry primitives for the Offline Protocol SDK.
2//!
3//! This module is the unified observer surface for everything the SDK emits:
4//! protocol events, MLS lifecycle events, periodic metrics snapshots,
5//! transport-status transitions, structured routing decisions, and
6//! device-capability snapshots all flow as [`TelemetryRecord`] values
7//! through a single [`TelemetrySink`].
8
9pub(crate) mod aggregator;
10pub mod config;
11pub(crate) mod context;
12pub mod device;
13pub(crate) mod dispatch;
14pub mod metrics_snapshot;
15pub mod record;
16pub mod routing;
17pub mod sampling;
18pub(crate) mod scrub_event;
19pub(crate) mod scrubber;
20pub mod sink;
21pub mod transport_state;
22
23pub use config::{MlsVerbosity, TelemetryConfig};
24pub(crate) use context::TelemetryContext;
25pub use device::{DeviceCapabilitySnapshot, CHANGED_BATTERY, CHANGED_CHARGING, CHANGED_RELAY_ROLE};
26pub(crate) use dispatch::dispatch_record;
27pub use metrics_snapshot::MetricsFrame;
28pub use record::TelemetryRecord;
29pub use routing::{RoutingDecision, RoutingPhase, RoutingReasonCode};
30pub use sampling::CategorySampler;
31pub(crate) use scrubber::Scrubber;
32pub use sink::{NoopTelemetrySink, TelemetrySink};
33pub use transport_state::TransportStateEvent;