schemadb/
metrics.rs

1// Copyright (c) The Diem Core Contributors
2// SPDX-License-Identifier: Apache-2.0
3
4// Copyright 2021 Conflux Foundation. All rights reserved.
5// Conflux is free software and distributed under GNU General Public License.
6// See http://www.gnu.org/licenses/
7
8use diem_metrics::{
9    register_histogram_vec, register_int_counter_vec, HistogramVec,
10    IntCounterVec,
11};
12use once_cell::sync::Lazy;
13
14pub static DIEM_SCHEMADB_ITER_LATENCY_SECONDS: Lazy<HistogramVec> =
15    Lazy::new(|| {
16        register_histogram_vec!(
17            // metric name
18            "diem_schemadb_iter_latency_seconds",
19            // metric description
20            "Diem schemadb iter latency in seconds",
21            // metric labels (dimensions)
22            &["cf_name"]
23        )
24        .unwrap()
25    });
26
27pub static DIEM_SCHEMADB_ITER_BYTES: Lazy<HistogramVec> = Lazy::new(|| {
28    register_histogram_vec!(
29        // metric name
30        "diem_schemadb_iter_bytes",
31        // metric description
32        "Diem schemadb iter size in bytess",
33        // metric labels (dimensions)
34        &["cf_name"]
35    )
36    .unwrap()
37});
38
39pub static DIEM_SCHEMADB_GET_LATENCY_SECONDS: Lazy<HistogramVec> =
40    Lazy::new(|| {
41        register_histogram_vec!(
42            // metric name
43            "diem_schemadb_get_latency_seconds",
44            // metric description
45            "Diem schemadb get latency in seconds",
46            // metric labels (dimensions)
47            &["cf_name"]
48        )
49        .unwrap()
50    });
51
52pub static DIEM_SCHEMADB_GET_BYTES: Lazy<HistogramVec> = Lazy::new(|| {
53    register_histogram_vec!(
54        // metric name
55        "diem_schemadb_get_bytes",
56        // metric description
57        "Diem schemadb get call returned data size in bytes",
58        // metric labels (dimensions)
59        &["cf_name"]
60    )
61    .unwrap()
62});
63
64pub static DIEM_SCHEMADB_BATCH_COMMIT_LATENCY_SECONDS: Lazy<HistogramVec> =
65    Lazy::new(|| {
66        register_histogram_vec!(
67            // metric name
68            "diem_schemadb_batch_commit_latency_seconds",
69            // metric description
70            "Diem schemadb schema batch commit latency in seconds",
71            // metric labels (dimensions)
72            &["db_name"]
73        )
74        .unwrap()
75    });
76
77pub static DIEM_SCHEMADB_BATCH_COMMIT_BYTES: Lazy<HistogramVec> =
78    Lazy::new(|| {
79        register_histogram_vec!(
80            // metric name
81            "diem_schemadb_batch_commit_bytes",
82            // metric description
83            "Diem schemadb schema batch commit size in bytes",
84            // metric labels (dimensions)
85            &["db_name"]
86        )
87        .unwrap()
88    });
89
90pub static DIEM_SCHEMADB_PUT_BYTES: Lazy<HistogramVec> = Lazy::new(|| {
91    register_histogram_vec!(
92        // metric name
93        "diem_schemadb_put_bytes",
94        // metric description
95        "Diem schemadb put call puts data size in bytes",
96        // metric labels (dimensions)
97        &["cf_name"]
98    )
99    .unwrap()
100});
101
102pub static DIEM_SCHEMADB_DELETES: Lazy<IntCounterVec> = Lazy::new(|| {
103    register_int_counter_vec!(
104        "diem_storage_deletes",
105        "Diem storage delete calls",
106        &["cf_name"]
107    )
108    .unwrap()
109});