use commonware_runtime::Metrics as RuntimeMetrics;
use prometheus_client::metrics::gauge::Gauge;
#[derive(Default)]
pub struct Metrics {
pub tip: Gauge,
pub floor: Gauge,
pub next: Gauge,
}
impl Metrics {
pub fn init<E: RuntimeMetrics>(context: &E) -> Self {
let metrics = Self::default();
context.register("tip", "Total enqueued items", metrics.tip.clone());
context.register("floor", "Acknowledged items", metrics.floor.clone());
context.register("next", "Next item to dequeue", metrics.next.clone());
metrics
}
}