perf(db): prebind cursor operation metrics#23654
Conversation
Amp-Thread-ID: https://ampcode.com/threads/T-019dab1a-a4a3-734a-9122-f91ce331ff8d Co-authored-by: Amp <amp@ampcode.com>
|
derek bench blocks=200 slack=never |
|
✅ Benchmark complete! View job Benchmark Results
200 blocks, 200 warmup Wait Time BreakdownPersistence Wait
Trie Cache Update Wait
Execution Cache Update Wait
ChartsGrafana Dashboard |
|
derek bench big-blocks blocks=50 slack=never |
|
✅ Benchmark complete! View job Benchmark Results
50 big blocks, 20 warmup Wait Time BreakdownPersistence Wait
Trie Cache Update Wait
Execution Cache Update Wait
ChartsGrafana Dashboard |
|
derek bench blocks=2000 slack=on-win |
|
✅ Benchmark complete! View job Benchmark Results
2000 blocks, 200 warmup Wait Time BreakdownPersistence Wait
Trie Cache Update Wait
Execution Cache Update Wait
ChartsGrafana Dashboard |
|
derek bench big-blocks blocks=500 slack=on-win |
|
🚀 Benchmark queued! View run ⏳ Status: Waiting for runner... Config: blocks: |
|
derek bench blocks=200 slack=never |
|
✅ Benchmark complete! View job Benchmark Results
200 blocks, 200 warmup Wait Time BreakdownPersistence Wait
Trie Cache Update Wait
Execution Cache Update Wait
ChartsGrafana Dashboard |
|
derek bench big-blocks blocks=50 slack=never |
|
✅ Benchmark complete! View job Benchmark Results
50 big blocks, 20 warmup Wait Time BreakdownPersistence Wait
Trie Cache Update Wait
Execution Cache Update Wait
ChartsGrafana Dashboard |
|
derek bench blocks=2000 slack=on-win |
|
✅ Benchmark complete! View job Benchmark Results
2000 blocks, 200 warmup Wait Time BreakdownPersistence Wait
Trie Cache Update Wait
Execution Cache Update Wait
ChartsGrafana Dashboard |
|
derek bench big-blocks blocks=500 slack=on-win |
|
✅ Benchmark complete! View job Benchmark Results
500 big blocks, 20 warmup Wait Time BreakdownPersistence Wait
Trie Cache Update Wait
Execution Cache Update Wait
ChartsGrafana Dashboard |
|
Benchmark-validated WIN (escalated). Results
|
Co-authored-by: Brian Picciano <933154+mediocregopher@users.noreply.github.com> Amp-Thread-ID: https://ampcode.com/threads/T-019dce13-c0cb-7700-8208-d890370e38ed Co-authored-by: Amp <amp@ampcode.com>
Co-Authored-By: Brian Picciano <933154+mediocregopher@users.noreply.github.com>
Co-authored-by: Brian Picciano <933154+mediocregopher@users.noreply.github.com> Amp-Thread-ID: https://ampcode.com/threads/T-019dd44d-3253-710b-bc57-9795eb2dfb6a Co-authored-by: Amp <amp@ampcode.com>
|
❌ Benchmark failed while unknown step. View logs |
Co-Authored-By: Brian Picciano <933154+mediocregopher@users.noreply.github.com>
|
derek bench blocks=2000 |
|
✅ Benchmark complete! View job Benchmark Results
2000 blocks, 200 warmup Wait Time BreakdownPersistence Wait
Trie Cache Update Wait
Execution Cache Update Wait
ChartsGrafana Dashboard |
Co-authored-by: Brian Picciano <933154+mediocregopher@users.noreply.github.com> Amp-Thread-ID: https://ampcode.com/threads/T-019dd44d-3253-710b-bc57-9795eb2dfb6a Co-authored-by: Amp <amp@ampcode.com>
Co-authored-by: Brian Picciano <933154+mediocregopher@users.noreply.github.com> Amp-Thread-ID: https://ampcode.com/threads/T-019dd44d-3253-710b-bc57-9795eb2dfb6a Co-authored-by: Amp <amp@ampcode.com>
Co-authored-by: Brian Picciano <933154+mediocregopher@users.noreply.github.com> Amp-Thread-ID: https://ampcode.com/threads/T-019dd44d-3253-710b-bc57-9795eb2dfb6a Co-authored-by: Amp <amp@ampcode.com>
Automated nightly update of reth dependencies from `paradigmxyz/reth` main branch. ## Upstream reth changes [`73ec2c9...88505c7`](paradigmxyz/reth@73ec2c9...88505c7) 🔗 Amp thread: https://ampcode.com/threads/T-019dd952-f354-740f-8cb1-c6c03e1326f8 - **Engine**: Added `getBlobsV4` endpoint ([#23767](paradigmxyz/reth#23767)). - **RPC**: Narrowed `getLogs` retry range ([#23818](paradigmxyz/reth#23818)). - **DB**: Skipped `move_to_static_files` for `storage.v2` ([#23814](paradigmxyz/reth#23814)). - **Perf**: Prebound cursor operation metrics ([#23654](paradigmxyz/reth#23654)). - **Execution**: Properly handle selfdestructed storage slots in re-execute ([#23832](paradigmxyz/reth#23832)). - **Deps**: Bumped alloy to 2.0.4 ([#23828](paradigmxyz/reth#23828)); released 2.2.0 ([#23831](paradigmxyz/reth#23831)). ## Migrations 🔗 Amp thread: https://ampcode.com/threads/T-019dd953-1036-7238-ad17-bc81e44fa2bd - Bumped `reth` dependencies from rev `73ec2c9` to `88505c7` across all `reth-*` crates in [Cargo.toml](file:///home/runner/work/tempo/tempo/Cargo.toml) to track the latest upstream Reth SDK revision. - Bumped `alloy` family crates (`alloy`, `alloy-consensus`, `alloy-contract`, `alloy-eips`, `alloy-genesis`, `alloy-network`, `alloy-provider`, `alloy-rpc-types-*`, `alloy-serde`, `alloy-signer*`, `alloy-transport`) from `2.0.1` to `2.0.4` to stay in sync with the new Reth revision. - Implemented the new `get_blobs_for_versioned_hashes_v4` method on `TempoTransactionPool` in [tempo_pool.rs](file:///home/runner/work/tempo/tempo/crates/transaction-pool/src/tempo_pool.rs#L1118-L1128), delegating to the underlying `protocol_pool`, to satisfy the expanded `BlobStore`/pool trait introduced upstream (adds an `indices_bitarray: B128` parameter and returns `BlobCellsAndProofsV1` per hash). [GitHub Workflow](https://github.com/tempoxyz/tempo/actions/runs/25109971223)
























Prebinds per-table MDBX cursor operation metrics in
DatabaseEnvMetricsand passes those cached handles into new cursors fromTx::new_cursor. This keeps the metric names unchanged while removing the per-operation metric lookup and clone from hot cursor write paths.