Skip to content

feat(report): chart builder validity-predicate and resting metrics - #214

Merged
fahimahmedx merged 3 commits into
mainfrom
fahim/validity-predicate-charts
Oct 28, 2026
Merged

fahimahmedx merged 3 commits into
mainfrom
fahim/validity-predicate-charts

Conversation

@fahimahmedx

Copy link
Copy Markdown
Contributor

Description

Adds CHART_CONFIG entries for the validity-predicate series the native builder emits and base-bench scrapes per block, so they render in the dashboard. ChartGrid only draws keys present in CHART_CONFIG, so until now these were scraped but never shown.

New charts (all under the reth_base_builder_ prefix):

  • validity flow: txs included / gas used per block (already allowlisted by base-bench, previously uncharted)
  • iteration + evaluation time: validity_candidate_handling_duration_avg, validity_predicate_eval_duration_per_block_avg, validity_predicate_rescan_duration_avg
  • per-build coverage: candidates evaluated / deferred, evaluation coverage, budget cutoffs
  • evaluation outcomes: matched, not_satisfied, budget_exhausted, expired, read_error, rescan_matched, rescan_not_satisfied
  • predicate state reads: accounts / slots loaded (total and unique)
  • resting predicates: parked, carried, carried-parked, released by reason, carry resets, shadow mismatches, bucket depth / wakeups

Companion to base/base (allowlists these series in etc/systems/src/prometheus_metrics.rs) and protocols/base-metal (schedules validity workloads). After this merges, benchmark_workload_config.dashboard.revision in base-metal should be bumped to pick it up.

Testing

yarn check and yarn test pass (16 tests). tsc --noEmit reports no errors in metricDefinitions.ts; the 15 errors it does report in filter.test.ts / BenchmarkLoadTestDetail.tsx are pre-existing on main.

@cb-heimdall

cb-heimdall commented Oct 27, 2026 •

Copy link
Copy Markdown
Collaborator

✅ Heimdall Review Status

Requirement Status More Info
Reviews ✅ 1/1
Denominator calculation
Show calculation
1 if user is bot 0
1 if user is external 0
2 if repo is sensitive 0
From .codeflow.yml 1
Additional review requirements
Show calculation
Max 0
0
From CODEOWNERS 0
Global minimum 0
Max 1
1
1 if commit is unverified 0
Sum 1

@fahimahmedx

Copy link
Copy Markdown
Contributor Author

Companion PRs: base/base#6245 (allowlists these series in base-bench) and protocols/base-metal#454 on GHE (schedules the validity workloads).

@wlawt
wlawt self-requested a review October 28, 2026 15:59
Define charts for the reth_base_builder_validity_*, predicate_* and
resting_predicate_* series base-bench scrapes from the native builder, plus
the validity-flow txs/gas per block series it already allowlisted. ChartGrid
only renders keys in CHART_CONFIG, so these were scraped but never shown.
Add rescan_budget_exhausted, rescan_read_error and unsupported to match the
base-bench allowlist, so every ValidityEvaluationOutcome has a chart.
Match the base-bench allowlist: validity transactions admitted to the pool per
block (added / replaced), to read against validity txs included per block.
@fahimahmedx
fahimahmedx force-pushed the fahim/validity-predicate-charts branch from eb1c88c to 83b731e Compare October 28, 2026 17:38
@fahimahmedx
fahimahmedx merged commit 9753ed4 into main Oct 28, 2026
15 checks passed
@fahimahmedx
fahimahmedx deleted the fahim/validity-predicate-charts branch October 28, 2026 19:07
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.

3 participants