kona_engine/metrics/
mod.rs1#[derive(Debug, Clone)]
5pub struct Metrics;
6
7impl Metrics {
8 pub const BLOCK_LABELS: &str = "kona_node_block_labels";
10 pub const UNSAFE_BLOCK_LABEL: &str = "unsafe";
12 pub const CROSS_UNSAFE_BLOCK_LABEL: &str = "cross-unsafe";
14 pub const LOCAL_SAFE_BLOCK_LABEL: &str = "local-safe";
16 pub const SAFE_BLOCK_LABEL: &str = "safe";
18 pub const FINALIZED_BLOCK_LABEL: &str = "finalized";
20
21 pub const ENGINE_TASK_COUNT: &str = "kona_node_engine_task_count";
23 pub const INSERT_TASK_LABEL: &str = "insert";
25 pub const CONSOLIDATE_TASK_LABEL: &str = "consolidate";
27 pub const FORKCHOICE_TASK_LABEL: &str = "forkchoice-update";
29 pub const BUILD_TASK_LABEL: &str = "build";
31 pub const FINALIZE_TASK_LABEL: &str = "finalize";
33
34 pub const ENGINE_METHOD_REQUEST_DURATION: &str = "kona_node_engine_method_request_duration";
36 pub const FORKCHOICE_UPDATE_METHOD: &str = "engine_forkchoiceUpdated";
38 pub const NEW_PAYLOAD_METHOD: &str = "engine_newPayload";
40 pub const GET_PAYLOAD_METHOD: &str = "engine_getPayload";
42
43 pub const ENGINE_RESET_COUNT: &str = "kona_node_engine_reset_count";
45
46 #[cfg(feature = "metrics")]
52 pub fn init() {
53 Self::describe();
54 Self::zero();
55 }
56
57 #[cfg(feature = "metrics")]
59 pub fn describe() {
60 metrics::describe_gauge!(Self::BLOCK_LABELS, "Blockchain head labels");
62
63 metrics::describe_counter!(Self::ENGINE_TASK_COUNT, "Engine task counts");
65
66 metrics::describe_histogram!(
68 Self::ENGINE_METHOD_REQUEST_DURATION,
69 metrics::Unit::Seconds,
70 "Engine method request duration"
71 );
72
73 metrics::describe_counter!(
75 Self::ENGINE_RESET_COUNT,
76 metrics::Unit::Count,
77 "Engine reset count"
78 );
79 }
80
81 #[cfg(feature = "metrics")]
84 pub fn zero() {
85 kona_macros::set!(counter, Self::ENGINE_TASK_COUNT, Self::INSERT_TASK_LABEL, 0);
87 kona_macros::set!(counter, Self::ENGINE_TASK_COUNT, Self::CONSOLIDATE_TASK_LABEL, 0);
88 kona_macros::set!(counter, Self::ENGINE_TASK_COUNT, Self::FORKCHOICE_TASK_LABEL, 0);
89 kona_macros::set!(counter, Self::ENGINE_TASK_COUNT, Self::BUILD_TASK_LABEL, 0);
90 kona_macros::set!(counter, Self::ENGINE_TASK_COUNT, Self::FINALIZE_TASK_LABEL, 0);
91
92 kona_macros::set!(counter, Self::ENGINE_RESET_COUNT, 0);
94 }
95}