Skip to main content

Crate atomr_telemetry

Crate atomr_telemetry 

Source
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::broadcast channel.
cluster
Cluster state probe — wraps atomr-cluster’s MembershipState / Gossip data 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 original Any payloads, 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 EndpointRegistry plus inbound / outbound byte counters. Cooperates with the (optional) atomr-remote crate.
sharding
Sharding probe — snapshots ShardRegion / ShardCoordinator state when the sharding feature is enabled.
streams
Streams probe — running-graph counter + list hooked into ActorMaterializer.

Structs§

TelemetryExtension
The telemetry extension. Construct once per actor system, register via the actor system’s extensions, and all other probes will pick it up.
TelemetryHandle
Shim so we can register Arc<TelemetryExtension> in the typed Extensions bag under a stable handle type.