pub struct RouterCounters {Show 15 fields
pub routed: u64,
pub delivered: u64,
pub dropped: u64,
pub dropped_queue_full: u64,
pub dropped_all_full: u64,
pub dropped_no_credit: u64,
pub credit_waits: u64,
pub detaches: u64,
pub pressure_waits: u64,
pub idle_waits: u64,
pub batches: u64,
pub batch_sum: u64,
pub batch_max: u32,
pub wake_waits: u64,
pub wake_timeouts: u64,
}Expand description
Counters returned by routing loops.
These counters are best-effort observability signals. In particular, some drop attribution is only approximate for work-queue routing because the router may fail to find any eligible destination.
Fields§
§routed: u64Number of messages routed (i.e. consumed from the producer queue).
delivered: u64Total number of consumer enqueues performed.
dropped: u64Total number of consumer enqueue failures.
dropped_queue_full: u64Drops attributable to destination queue being full (best-effort, v1 fanout).
dropped_all_full: u64Drops attributable to no eligible consumer having space (work-queue: all full).
dropped_no_credit: u64Drops attributable to no eligible consumer having credit (best-effort).
credit_waits: u64Number of times routing was throttled due to credit exhaustion.
detaches: u64Number of consumer detach events.
pressure_waits: u64Number of times routing was throttled because consumer queues had no capacity.
idle_waits: u64Number of times the loop observed “no work” and invoked the wait strategy.
batches: u64Number of batches routed.
batch_sum: u64Sum of batch sizes (messages per batch).
batch_max: u32Maximum batch size observed.
wake_waits: u64Number of OS-backed wake waits performed (when BackpressurePolicy::Block is active).
wake_timeouts: u64Number of OS-backed wake waits that timed out.
Trait Implementations§
Source§impl Clone for RouterCounters
impl Clone for RouterCounters
Source§fn clone(&self) -> RouterCounters
fn clone(&self) -> RouterCounters
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more