iroh_relay/server/
metrics.rs1use std::sync::Arc;
2
3use iroh_metrics::{Counter, MetricsGroup, MetricsGroupSet};
4
5#[derive(Debug, Default, MetricsGroup)]
7#[metrics(name = "relayserver")]
8pub struct Metrics {
9 #[metrics(help = "Number of bytes sent.")]
14 pub bytes_sent: Counter,
15 #[metrics(help = "Number of bytes received.")]
17 pub bytes_recv: Counter,
18
19 #[metrics(help = "Number of 'send' packets relayed.")]
21 pub send_packets_sent: Counter,
22 #[metrics(help = "Number of 'send' packets received.")]
24 pub send_packets_recv: Counter,
25 #[metrics(help = "Number of 'send' packets dropped.")]
27 pub send_packets_dropped: Counter,
28
29 #[metrics(help = "Number of disco packets sent.")]
31 pub disco_packets_sent: Counter,
32 #[metrics(help = "Number of disco packets received.")]
34 pub disco_packets_recv: Counter,
35 #[metrics(help = "Number of disco packets dropped.")]
37 pub disco_packets_dropped: Counter,
38
39 #[metrics(help = "Number of packets sent that were not disco packets or 'send' packets")]
41 pub other_packets_sent: Counter,
42 #[metrics(help = "Number of packets received that were not disco packets or 'send' packets")]
44 pub other_packets_recv: Counter,
45 #[metrics(help = "Number of times a non-disco, non-send packet was dropped.")]
47 pub other_packets_dropped: Counter,
48
49 #[metrics(help = "Number of times the server has received a Ping from a client.")]
51 pub got_ping: Counter,
52 #[metrics(help = "Number of times the server has sent a Pong to a client.")]
54 pub sent_pong: Counter,
55 #[metrics(help = "Number of unknown frames sent to this server.")]
57 pub unknown_frames: Counter,
58
59 pub bytes_rx_ratelimited_total: Counter,
61 pub conns_rx_ratelimited_total: Counter,
63
64 pub accepts: Counter,
69 #[metrics(help = "Number of clients that have then disconnected.")]
71 pub disconnects: Counter,
72
73 pub unique_client_keys: Counter,
75 }
81
82#[derive(Debug, Default, Clone, MetricsGroupSet)]
84#[metrics(name = "relay")]
85pub struct RelayMetrics {
86 pub server: Arc<Metrics>,
88}