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}