pub struct MetricsFrame {
pub timestamp_ms: i64,
pub transports: Vec<(TransportType, TransportMetrics)>,
pub retry_queue: RetryQueueStats,
pub dedup: DeduplicatorStats,
pub ack_pending: usize,
pub neighbor_count: usize,
pub is_local_relay: bool,
pub current_transport: Option<TransportType>,
}Expand description
Snapshot of every push-able counter the SDK exposes.
The inner collections are pre-materialized at aggregation time so the sink receives owned-but-cheap data — no iteration, no locking on the sink side.
Fields§
§timestamp_ms: i64Emission timestamp (milliseconds since Unix epoch).
transports: Vec<(TransportType, TransportMetrics)>Per-transport metrics for every transport currently reporting
TransportStatus::Available.
retry_queue: RetryQueueStatsRetry-queue statistics (pending + ready + per-priority counts).
dedup: DeduplicatorStatsDeduplicator statistics (tracked ids, capacity, mode).
ack_pending: usizeNumber of messages awaiting acknowledgement.
neighbor_count: usizeNumber of currently known neighbors.
is_local_relay: boolWhether this node is currently acting as a relay on the mesh.
Reflects RelayManager::current_role() at the moment of emission.
Named deliberately — this is a local-role flag, not a peer count.
A future record with an explicit per-peer-relay registry may add a
relay_peer_count field alongside; those semantics are orthogonal.
current_transport: Option<TransportType>Currently selected transport, if any.
Implementations§
Source§impl MetricsFrame
impl MetricsFrame
Trait Implementations§
Source§impl Clone for MetricsFrame
impl Clone for MetricsFrame
Source§fn clone(&self) -> MetricsFrame
fn clone(&self) -> MetricsFrame
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for MetricsFrame
impl RefUnwindSafe for MetricsFrame
impl Send for MetricsFrame
impl Sync for MetricsFrame
impl Unpin for MetricsFrame
impl UnsafeUnpin for MetricsFrame
impl UnwindSafe for MetricsFrame
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Declassify for T
impl<T> Declassify for T
type Declassified = T
fn declassify(self) -> T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more