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