#[non_exhaustive]pub struct MagicsockMetrics {Show 49 fields
pub update_direct_addrs: Counter,
pub send_ipv4: Counter,
pub send_ipv6: Counter,
pub send_relay: Counter,
pub send_relay_error: Counter,
pub send_data: Counter,
pub send_data_network_down: Counter,
pub recv_data_relay: Counter,
pub recv_data_ipv4: Counter,
pub recv_data_ipv6: Counter,
pub recv_datagrams: Counter,
pub recv_gro_datagrams: Counter,
pub send_disco_udp: Counter,
pub send_disco_relay: Counter,
pub sent_disco_udp: Counter,
pub sent_disco_relay: Counter,
pub sent_disco_ping: Counter,
pub sent_disco_pong: Counter,
pub sent_disco_call_me_maybe: Counter,
pub recv_disco_bad_key: Counter,
pub recv_disco_bad_parse: Counter,
pub recv_disco_udp: Counter,
pub recv_disco_relay: Counter,
pub recv_disco_ping: Counter,
pub recv_disco_pong: Counter,
pub recv_disco_call_me_maybe: Counter,
pub recv_disco_call_me_maybe_bad_disco: Counter,
pub relay_home_change: Counter,
pub num_direct_conns_added: Counter,
pub num_direct_conns_removed: Counter,
pub num_relay_conns_added: Counter,
pub num_relay_conns_removed: Counter,
pub actor_tick_main: Counter,
pub actor_tick_msg: Counter,
pub actor_tick_re_stun: Counter,
pub actor_tick_portmap_changed: Counter,
pub actor_tick_direct_addr_heartbeat: Counter,
pub actor_link_change: Counter,
pub actor_tick_other: Counter,
pub endpoints_contacted: Counter,
pub endpoints_contacted_directly: Counter,
pub connection_handshake_success: Counter,
pub connection_became_direct: Counter,
pub path_marked_outdated: Counter,
pub path_ping_failures: Counter,
pub path_failure_resets: Counter,
pub path_packet_loss_rate: Histogram,
pub path_rtt_variance_ms: Histogram,
pub path_quality_score: Histogram,
}Expand description
Enum of metrics for the module
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.update_direct_addrs: Counter§send_ipv4: Counter§send_ipv6: Counter§send_relay: Counter§send_relay_error: Counter§send_data: Counter§send_data_network_down: Counter§recv_data_relay: Counter§recv_data_ipv4: Counter§recv_data_ipv6: Counter§recv_datagrams: CounterNumber of QUIC datagrams received.
recv_gro_datagrams: CounterNumber of datagrams received using GRO
send_disco_udp: Counter§send_disco_relay: Counter§sent_disco_udp: Counter§sent_disco_relay: Counter§sent_disco_ping: Counter§sent_disco_pong: Counter§sent_disco_call_me_maybe: Counter§recv_disco_bad_key: Counter§recv_disco_bad_parse: Counter§recv_disco_udp: Counter§recv_disco_relay: Counter§recv_disco_ping: Counter§recv_disco_pong: Counter§recv_disco_call_me_maybe: Counter§recv_disco_call_me_maybe_bad_disco: Counter§relay_home_change: Counter§num_direct_conns_added: CounterThe number of direct connections we have made to peers.
num_direct_conns_removed: CounterThe number of direct connections we have lost to peers.
num_relay_conns_added: CounterThe number of connections to peers we have added over relay.
num_relay_conns_removed: CounterThe number of connections to peers we have removed over relay.
actor_tick_main: Counter§actor_tick_msg: Counter§actor_tick_re_stun: Counter§actor_tick_portmap_changed: Counter§actor_tick_direct_addr_heartbeat: Counter§actor_link_change: Counter§actor_tick_other: Counter§endpoints_contacted: CounterNumber of endpoints we have attempted to contact.
endpoints_contacted_directly: CounterNumber of endpoints we have managed to contact directly.
connection_handshake_success: CounterNumber of connections with a successful handshake.
connection_became_direct: CounterNumber of connections with a successful handshake that became direct.
path_marked_outdated: CounterNumber of times a path was marked as outdated due to consecutive ping failures.
path_ping_failures: CounterNumber of ping failures recorded across all paths.
path_failure_resets: CounterNumber of consecutive failure resets (path recovered).
path_packet_loss_rate: HistogramHistogram of packet loss rates (0.0-1.0) observed on UDP paths.
path_rtt_variance_ms: HistogramHistogram of RTT variance (in milliseconds) as a congestion indicator.
path_quality_score: HistogramHistogram of path quality scores (0.0-1.0).
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Metrics
impl<'de> Deserialize<'de> for Metrics
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Iterable for Metrics
impl Iterable for Metrics
Source§fn field_count(&self) -> usize
fn field_count(&self) -> usize
Source§impl MetricsGroup for Metrics
impl MetricsGroup for Metrics
Auto Trait Implementations§
impl !Freeze for Metrics
impl RefUnwindSafe for Metrics
impl Send for Metrics
impl Sync for Metrics
impl Unpin for Metrics
impl UnwindSafe for Metrics
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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> 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> IntoIterable for Twhere
T: Iterable,
impl<T> IntoIterable for Twhere
T: Iterable,
Source§fn as_iterable(&self) -> &dyn Iterable
fn as_iterable(&self) -> &dyn Iterable
self as dyn Iterable