reth_rpc_engine_api/
metrics.rs1use metrics::{Counter, Histogram};
2use reth_metrics::Metrics;
3
4#[derive(Default)]
6pub(crate) struct EngineApiMetrics {
7 pub(crate) latency: EngineApiLatencyMetrics,
9 pub(crate) blob_metrics: BlobMetrics,
11}
12
13#[derive(Metrics)]
15#[metrics(scope = "engine.rpc")]
16pub(crate) struct EngineApiLatencyMetrics {
17 pub(crate) new_payload_v1: Histogram,
19 pub(crate) new_payload_v2: Histogram,
21 pub(crate) new_payload_v3: Histogram,
23 pub(crate) new_payload_v4: Histogram,
25 pub(crate) fork_choice_updated_v1: Histogram,
27 pub(crate) fork_choice_updated_v2: Histogram,
29 pub(crate) fork_choice_updated_v3: Histogram,
31 pub(crate) get_payload_v1: Histogram,
33 pub(crate) get_payload_v2: Histogram,
35 pub(crate) get_payload_v3: Histogram,
37 pub(crate) get_payload_v4: Histogram,
39 pub(crate) get_payload_v5: Histogram,
41 pub(crate) get_payload_bodies_by_range_v1: Histogram,
43 pub(crate) get_payload_bodies_by_hash_v1: Histogram,
45 pub(crate) get_blobs_v1: Histogram,
47 pub(crate) get_blobs_v2: Histogram,
49}
50
51#[derive(Metrics)]
52#[metrics(scope = "engine.rpc.blobs")]
53pub(crate) struct BlobMetrics {
54 pub(crate) blob_count: Counter,
56 pub(crate) blob_misses: Counter,
58 pub(crate) get_blobs_requests_blobs_total: Counter,
60 pub(crate) get_blobs_requests_blobs_in_blobpool_total: Counter,
62 pub(crate) get_blobs_requests_success_total: Counter,
64 pub(crate) get_blobs_requests_failure_total: Counter,
66}