holochain_cascade 0.7.0-dev.5

Logic for cascading updates to Holochain state and network interaction
Documentation
use opentelemetry_api::{global::meter_with_version, metrics::*};
use std::sync::OnceLock;

pub type CascadeDurationMetric = Histogram<f64>;

static DURATION_METRIC: OnceLock<CascadeDurationMetric> = OnceLock::new();

pub fn create_cascade_duration_metric() -> &'static CascadeDurationMetric {
    DURATION_METRIC.get_or_init(|| {
        meter_with_version(
            "hc.cascade",
            None::<&'static str>,
            None::<&'static str>,
            Some(vec![]),
        )
        .f64_histogram("hc.cascade.duration")
        .with_unit(Unit::new("s"))
        .with_description("The time taken to execute a cascade query")
        .init()
    })
}