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 packets sent that were not 'send' packets")]
31 pub other_packets_sent: Counter,
32 #[metrics(help = "Number of packets received that were not 'send' packets")]
34 pub other_packets_recv: Counter,
35 #[metrics(help = "Number of times, non-send packet was dropped.")]
37 pub other_packets_dropped: Counter,
38
39 #[metrics(help = "Number of times the server has received a Ping from a client.")]
41 pub got_ping: Counter,
42 #[metrics(help = "Number of times the server has sent a Pong to a client.")]
44 pub sent_pong: Counter,
45 #[metrics(help = "Number of unknown frames sent to this server.")]
47 pub unknown_frames: Counter,
48
49 pub bytes_rx_ratelimited_total: Counter,
51 pub conns_rx_ratelimited_total: Counter,
53
54 pub accepts: Counter,
59 #[metrics(help = "Number of clients that have then disconnected.")]
61 pub disconnects: Counter,
62
63 pub unique_client_keys: Counter,
65 }
71
72#[derive(Debug, Default, Clone, MetricsGroupSet)]
74#[metrics(name = "relay")]
75pub struct RelayMetrics {
76 pub server: Arc<Metrics>,
78}