use iroh_metrics::{
core::{Counter, Metric},
struct_iterable::Iterable,
};
#[allow(missing_docs)]
#[derive(Debug, Clone, Iterable)]
pub struct Metrics {
pub new_entries_local: Counter,
pub new_entries_remote: Counter,
pub new_entries_local_size: Counter,
pub new_entries_remote_size: Counter,
pub sync_via_connect_success: Counter,
pub sync_via_connect_failure: Counter,
pub sync_via_accept_success: Counter,
pub sync_via_accept_failure: Counter,
}
impl Default for Metrics {
fn default() -> Self {
Self {
new_entries_local: Counter::new("Number of document entries added locally"),
new_entries_remote: Counter::new("Number of document entries added by peers"),
new_entries_local_size: Counter::new("Total size of entry contents added locally"),
new_entries_remote_size: Counter::new("Total size of entry contents added by peers"),
sync_via_accept_success: Counter::new("Number of successful syncs (via accept)"),
sync_via_accept_failure: Counter::new("Number of failed syncs (via accept)"),
sync_via_connect_success: Counter::new("Number of successful syncs (via connect)"),
sync_via_connect_failure: Counter::new("Number of failed syncs (via connect)"),
}
}
}
impl Metric for Metrics {
fn name() -> &'static str {
"iroh_sync"
}
}