feat(builder): emit validity-predicate state-load metrics - #4611
feat(builder): emit validity-predicate state-load metrics#4611BrianBland wants to merge 1 commit into
Conversation
🟡 Heimdall Review Status
|
2bab459 to
9a936d0
Compare
Track the accounts and storage slots read while evaluating validity predicates during a block build, emitted once per block as histograms of total reads (every read, including re-reads across flashblocks and parked-transaction rescans) and distinct locations (the predicate state footprint). A PredicateReadRecorder wraps the builder State for the duration of each predicate evaluation and records reads into a per-block PredicateLoadTracker carried on ExecutionInfo, respecting short-circuit evaluation. This is the footprint signal a predicate-state prewarmer must cover; disk-tier cost is covered separately by reth's sync.caching miss metrics and by predicate evaluation time. Co-Authored-By: Claude <noreply@anthropic.com>
9a936d0 to
0618373
Compare
Review SummaryPR: feat(builder): emit validity-predicate state-load metrics This PR adds per-block observability for validity-predicate state reads by introducing a Block Production SafetyThis PR touches the flashblock build loop (
FindingsNo issues found. The implementation is clean:
|
|
Tip Nice, this PR improves performance. 1 benchmark(s) faster by more than 10% beyond the noise band: Benchmark results (advisory)Median time on the PR head versus the base branch, measured on the same host. Wall-clock, so a change is only flagged when it clears ±10% and the confidence intervals do not overlap. Only benchmarks past the ±10% threshold (plus new or dropped ones) are listed. This check never blocks a merge.
48 benchmark(s) within ±10% omitted. |
Track the accounts and storage slots read while evaluating validity predicates during a block build, emitted once per block as histograms of total reads (every read, including re-reads across flashblocks and parked-transaction rescans) and distinct locations (the predicate state footprint).
A
PredicateReadRecorderwraps the builderStatefor the duration of each predicate evaluation and records reads into a per-blockPredicateLoadTrackercarried onExecutionInfo, respecting short-circuit evaluation. This is the footprint signal a predicate-state prewarmer must cover; disk-tier cost is covered separately by reth'ssync.cachingmiss metrics and by predicate evaluation time.