Skip to main content

fedimint_mintv2_server/
metrics.rs

1#![allow(clippy::disallowed_types)]
2// Prometheus registration macros use `HashMap` internally.
3
4use std::sync::LazyLock;
5
6use fedimint_metrics::prometheus::{
7    register_histogram_vec_with_registry, register_histogram_with_registry,
8};
9use fedimint_metrics::{AMOUNTS_BUCKETS_SATS, Histogram, HistogramVec, REGISTRY, histogram_opts};
10
11pub(crate) static MINT_INOUT_SATS: LazyLock<HistogramVec> = LazyLock::new(|| {
12    register_histogram_vec_with_registry!(
13        histogram_opts!(
14            "mintv2_inout_sats",
15            "Value of input/output e-cash notes in sats",
16            AMOUNTS_BUCKETS_SATS.clone()
17        ),
18        &["direction"],
19        REGISTRY
20    )
21    .unwrap()
22});
23pub(crate) static MINT_INOUT_FEES_SATS: LazyLock<HistogramVec> = LazyLock::new(|| {
24    register_histogram_vec_with_registry!(
25        histogram_opts!(
26            "mintv2_inout_fees_sats",
27            "Value of input/output e-cash fees in sats",
28            AMOUNTS_BUCKETS_SATS.clone()
29        ),
30        &["direction"],
31        REGISTRY
32    )
33    .unwrap()
34});
35pub(crate) static MINT_REDEEMED_ECASH_SATS: LazyLock<Histogram> = LazyLock::new(|| {
36    register_histogram_with_registry!(
37        histogram_opts!(
38            "mintv2_redeemed_ecash_sats",
39            "Value of redeemed e-cash notes in sats (deprecated - prefer mintv2_inout_sats)",
40            AMOUNTS_BUCKETS_SATS.clone()
41        ),
42        REGISTRY
43    )
44    .unwrap()
45});
46pub(crate) static MINT_REDEEMED_ECASH_FEES_SATS: LazyLock<Histogram> = LazyLock::new(|| {
47    register_histogram_with_registry!(
48            histogram_opts!(
49                "mintv2_redeemed_ecash_fees_sats",
50                "Value of e-cash fees during reissue in sats (deprecated - prefer mintv2_inout_fees_sats)",
51                AMOUNTS_BUCKETS_SATS.clone()
52            ),
53            REGISTRY
54        )
55        .unwrap()
56});
57pub(crate) static MINT_ISSUED_ECASH_SATS: LazyLock<Histogram> = LazyLock::new(|| {
58    register_histogram_with_registry!(
59        histogram_opts!(
60            "mintv2_issued_ecash_sats",
61            "Value of issued e-cash notes in sats (deprecated - prefer mintv2_inout_sats)",
62            AMOUNTS_BUCKETS_SATS.clone()
63        ),
64        REGISTRY
65    )
66    .unwrap()
67});
68pub(crate) static MINT_ISSUED_ECASH_FEES_SATS: LazyLock<Histogram> = LazyLock::new(|| {
69    register_histogram_with_registry!(
70        histogram_opts!(
71            "mintv2_issued_ecash_fees_sats",
72            "Value of e-cash fees during issue in sats (deprecated - prefer mintv2_inout_fees_sats)",
73            AMOUNTS_BUCKETS_SATS.clone()
74        ),
75        REGISTRY
76    )
77    .unwrap()
78});