iota_analytics_indexer/
analytics_metrics.rs1#![allow(dead_code)]
6use prometheus::{
7 IntCounterVec, IntGaugeVec, Registry, register_int_counter_vec_with_registry,
8 register_int_gauge_vec_with_registry,
9};
10
11#[derive(Clone)]
12pub struct AnalyticsMetrics {
13 pub total_received: IntCounterVec,
14 pub last_uploaded_checkpoint: IntGaugeVec,
15 pub max_checkpoint_on_store: IntGaugeVec,
16}
17
18impl AnalyticsMetrics {
19 pub fn new(registry: &Registry) -> Self {
20 Self {
21 total_received: register_int_counter_vec_with_registry!(
22 "total_received",
23 "Number of checkpoints received",
24 &["data_type"],
25 registry
26 )
27 .unwrap(),
28 last_uploaded_checkpoint: register_int_gauge_vec_with_registry!(
29 "last_uploaded_checkpoint",
30 "Number of uploaded checkpoints.",
31 &["data_type"],
32 registry,
33 )
34 .unwrap(),
35 max_checkpoint_on_store: register_int_gauge_vec_with_registry!(
36 "max_checkpoint_on_store",
37 "Max checkpoint on the db table.",
38 &["data_type"],
39 registry,
40 )
41 .unwrap(),
42 }
43 }
44}