reth_trie_parallel/
proof_task_metrics.rs1use reth_metrics::{metrics::Histogram, Metrics};
2
3#[derive(Clone, Debug, Default)]
5pub struct ProofTaskMetrics {
6 pub task_metrics: ProofTaskTrieMetrics,
8 pub account_nodes: usize,
10 pub storage_nodes: usize,
12}
13
14impl ProofTaskMetrics {
15 pub fn record(&self) {
17 self.task_metrics.record_account_nodes(self.account_nodes);
18 self.task_metrics.record_storage_nodes(self.storage_nodes);
19 }
20}
21
22#[derive(Clone, Metrics)]
24#[metrics(scope = "trie.proof_task")]
25pub struct ProofTaskTrieMetrics {
26 blinded_account_nodes: Histogram,
28 blinded_storage_nodes: Histogram,
30}
31
32impl ProofTaskTrieMetrics {
33 pub fn record_account_nodes(&self, count: usize) {
35 self.blinded_account_nodes.record(count as f64);
36 }
37
38 pub fn record_storage_nodes(&self, count: usize) {
40 self.blinded_storage_nodes.record(count as f64);
41 }
42}