iroh_blobs/
metrics.rs

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