iroh_net/relay/server/
metrics.rs1use iroh_metrics::{
2 core::{Counter, Metric},
3 struct_iterable::Iterable,
4};
5
6#[allow(missing_docs)]
8#[derive(Debug, Clone, Iterable)]
9pub struct Metrics {
10 pub bytes_sent: Counter,
15 pub bytes_recv: Counter,
17
18 pub send_packets_sent: Counter,
20 pub send_packets_recv: Counter,
22 pub send_packets_dropped: Counter,
24
25 pub disco_packets_sent: Counter,
27 pub disco_packets_recv: Counter,
29 pub disco_packets_dropped: Counter,
31
32 pub other_packets_sent: Counter,
34 pub other_packets_recv: Counter,
36 pub other_packets_dropped: Counter,
38
39 pub got_ping: Counter,
41 pub sent_pong: Counter,
43 pub unknown_frames: Counter,
45
46 pub accepts: Counter,
51 pub disconnects: Counter,
53
54 pub unique_client_keys: Counter,
56
57 pub websocket_accepts: Counter,
59 pub derp_accepts: Counter,
61 }
67
68impl Default for Metrics {
69 fn default() -> Self {
70 Self {
71 send_packets_sent: Counter::new("Number of 'send' packets relayed."),
75 bytes_sent: Counter::new("Number of bytes sent."),
76 send_packets_recv: Counter::new("Number of 'send' packets received."),
77 bytes_recv: Counter::new("Number of bytes received."),
78 send_packets_dropped: Counter::new("Number of 'send' packets dropped."),
79 disco_packets_sent: Counter::new("Number of disco packets sent."),
80 disco_packets_recv: Counter::new("Number of disco packets received."),
81 disco_packets_dropped: Counter::new("Number of disco packets dropped."),
82
83 other_packets_sent: Counter::new(
84 "Number of packets sent that were not disco packets or 'send' packets",
85 ),
86 other_packets_recv: Counter::new(
87 "Number of packets received that were not disco packets or 'send' packets",
88 ),
89 other_packets_dropped: Counter::new(
90 "Number of times a non-disco, non-'send; packet was dropped.",
91 ),
92 got_ping: Counter::new("Number of times the server has received a Ping from a client."),
93 sent_pong: Counter::new("Number of times the server has sent a Pong to a client."),
94 unknown_frames: Counter::new("Number of unknown frames sent to this server."),
95
96 accepts: Counter::new("Number of times this server has accepted a connection."),
100 disconnects: Counter::new("Number of clients that have then disconnected."),
101
102 unique_client_keys: Counter::new("Number of unique client keys per day."),
103
104 websocket_accepts: Counter::new("Number of accepted websocket connections"),
105 derp_accepts: Counter::new("Number of accepted 'iroh derp http' connection upgrades"),
106 }
112 }
113}
114
115impl Metric for Metrics {
116 fn name() -> &'static str {
117 "relayserver"
118 }
119}