Skip to content

op-reth!: use standard RPC metrics for historical proofs - #23087

Closed
joshklop wants to merge 8 commits into
joshklop/update-reth-v2.6.0from
joshklop/use-reth-proof-rpc-metrics
Closed

joshklop wants to merge 8 commits into
joshklop/update-reth-v2.6.0from
joshklop/use-reth-proof-rpc-metrics

Conversation

@joshklop

@joshklop joshklop commented Sep 29, 2026 •

Copy link
Copy Markdown
Contributor

Stacked on #23046. The historical-proofs override currently duplicates Reth's built-in per-method RPC instrumentation, so this switches operators to the standard reth_rpc_server_calls_*{method="eth_getProof"} series and documents the migration and its accounting differences.

This intentionally accepts that Reth exposes only volume for batch entries and does not cover authenticated RPC calls or standalone notifications. The in-tree Kona hosts, Go clients, and proof benchmark all issue individual eth_getProof calls rather than JSON-RPC batches.

A seven-day comparison of successful-call counter increases found an exact match on production proof nodes and differences of only -0.0014% to -0.0078% on high-volume I nodes. This query reports the percentage difference per network and namespace, where zero means the counters are equivalent:

(
  100 * (
    (
      sum by (stack_optimism_io_network, namespace) (
        increase(reth_rpc_server_calls_successful_total{method="eth_getProof"}[$__range])
      )
      /
      sum by (stack_optimism_io_network, namespace) (
        increase(reth_optimism_rpc_eth_api_ext_get_proof_successful_responses[$__range])
      )
    ) - 1
  )
)
and on (stack_optimism_io_network, namespace)
(
  sum by (stack_optimism_io_network, namespace) (
    increase(reth_optimism_rpc_eth_api_ext_get_proof_successful_responses[$__range])
  ) > 100
)

Known rollout dependency: the Grafana dashboard op-reth: NVMe vs hyperdisk has five queries across its proof-serving panels that use the removed metrics. Those queries must be migrated before this change is deployed.

No additional integration test is included because the metric middleware and batch accounting are owned and tested upstream; the local change only removes handler-level instrumentation, while the operator documentation captures the pinned upstream semantics.

BREAKING CHANGE: Historical-proofs operators must migrate dashboards and alerts from reth_optimism_rpc_eth_api_ext_get_proof_* to reth_rpc_server_calls_* filtered by method="eth_getProof". The public EthApiExtMetrics Rust type is removed. Per-entry batch outcomes and latency, authenticated RPC calls, and standalone notification calls are no longer measured.

@joshklop
joshklop marked this pull request as ready for review September 29, 2026 19:42
@joshklop
joshklop requested review from a team as code owners September 29, 2026 19:42
@joshklop
joshklop added this pull request to stack #23089 September 29, 2026 19:42
Remove the dedicated eth_getProof metrics in favor of Reth RPC server metrics.

BREAKING CHANGE: Historical-proofs operators must migrate dashboards from reth_optimism_rpc_eth_api_ext_get_proof_* to reth_rpc_server_calls_* filtered by method="eth_getProof". Per-entry batch outcomes and latency, authenticated RPC calls, and standalone notifications are no longer measured.
@joshklop
joshklop force-pushed the joshklop/use-reth-proof-rpc-metrics branch from a6eb07d to febe2cb Compare September 29, 2026 20:05
@joshklop

Copy link
Copy Markdown
Contributor Author

Closing in favour of tracking this as ethereum-optimism/protocol-team#455, to keep it out of the reth v2.6.0 stack. The branch is kept for reference.

@joshklop joshklop closed this Oct 11, 2026
An error occurred while trying to automatically change base from joshklop/update-reth-v2.6.0 to develop October 16, 2026 12:21
An error occurred while trying to automatically change base from joshklop/update-reth-v2.6.0 to develop October 16, 2026 12:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant