Expand description
§atomr-telemetry
Optional probe surface for observing a running atomr node.
The crate is passive and opt-in. Construct a TelemetryExtension and
register it on an atomr_core::actor::ActorSystem via
atomr_core::actor::Extensions. Subsystems check for the extension
at runtime (cheap Arc<T> lookup) and, when present, emit snapshots +
events into the telemetry bus::TelemetryBus. When absent, there is
no cost beyond a single DashMap lookup.
See crate::exporters for the Prometheus / OpenTelemetry exporters
gated behind cargo features.
Modules§
- actor_
registry - Actor registry probe — tracks path/parent/mailbox-depth for every live
actor in an
ActorSystem. - bus
- Typed telemetry bus backed by a
tokio::sync::broadcastchannel. - cluster
- Cluster state probe — wraps
atomr-cluster’sMembershipState/Gossipdata structures with an owning snapshot that the dashboard can poll and an event publisher that emits diff events on updates. - ddata
- Distributed-data probe — tracks replicator key updates.
- dead_
letters - Dead-letter feed — bounded ring buffer + bus publisher. Sits alongside
the existing
atomr_core::event::DeadLettersSink; the sink keeps the originalAnypayloads, while this feed keeps a small serializable summary for the dashboard. - dto
- Serde DTOs shared between the telemetry bus, REST handlers, and the React dashboard. Kept in one file so the whole wire format is visible at a glance.
- exporters
- Pluggable exporters for external observability backends.
- persistence
- Persistence probe — tracks a roll-up of journal activity and provides
an admin trait for listing
persistence_ids + highest sequence numbers. Default impls are feature-gated so the telemetry crate works even when persistence is disabled. - remote
- Remote probe — snapshots the remote
EndpointRegistryplus inbound / outbound byte counters. Cooperates with the (optional)atomr-remotecrate. - sharding
- Sharding probe — snapshots
ShardRegion/ShardCoordinatorstate when theshardingfeature is enabled. - streams
- Streams probe — running-graph counter + list hooked into
ActorMaterializer.
Structs§
- Telemetry
Extension - The telemetry extension. Construct once per actor system, register via the actor system’s extensions, and all other probes will pick it up.
- Telemetry
Handle - Shim so we can register
Arc<TelemetryExtension>in the typedExtensionsbag under a stable handle type.