iroh_blobs/metrics.rs
1//! Metrics for iroh-blobs
2
3use iroh_metrics::{Counter, MetricsGroup};
4
5/// Enum of metrics for the module
6#[allow(missing_docs)]
7#[allow(dead_code)]
8#[derive(Debug, Default, MetricsGroup)]
9#[metrics(name = "iroh-blobs")]
10pub struct Metrics {
11 /// Total number of content bytes downloaded
12 pub download_bytes_total: Counter,
13 /// Total time in ms spent downloading content bytes
14 pub download_time_total: Counter,
15 /// Total number of successful downloads
16 pub downloads_success: Counter,
17 /// Total number of downloads failed with error
18 pub downloads_error: Counter,
19 /// Total number of downloads failed with not found
20 pub downloads_notfound: Counter,
21 /// Number of times the main downloader actor loop ticked
22 pub downloader_tick_main: Counter,
23 /// Number of times the downloader actor ticked for a connection ready
24 pub downloader_tick_connection_ready: Counter,
25 /// Number of times the downloader actor ticked for a message received
26 pub downloader_tick_message_received: Counter,
27 /// Number of times the downloader actor ticked for a transfer completed
28 pub downloader_tick_transfer_completed: Counter,
29 /// Number of times the downloader actor ticked for a transfer failed
30 pub downloader_tick_transfer_failed: Counter,
31 /// Number of times the downloader actor ticked for a retry node
32 pub downloader_tick_retry_node: Counter,
33 /// Number of times the downloader actor ticked for a goodbye node
34 pub downloader_tick_goodbye_node: Counter,
35}