feat: add gasburner gas throughput benchmark#3108
Conversation
…mark - Create test/e2e/benchmark/ subpackage with SpamoorSuite (testify/suite) - Move spamoor smoke test into suite as TestSpamoorSmoke - Split helpers into focused files: traces.go, output.go, metrics.go - Introduce resultWriter for defer-based benchmark JSON output - Export shared symbols from evm_test_common.go for cross-package use - Restructure CI to fan-out benchmark jobs and fan-in publishing - Run benchmarks on PRs only when benchmark-related files change
- Add TestGasBurner to SpamoorSuite measuring seconds_per_gigagas - Add measureGasThroughput and waitForMetricTarget helpers - Add gasburner CI job with dashboard publishing
|
The latest Buf updates on your PR. Results from workflow CI / buf-check (pull_request).
|
|
Claude finished @chatton's task in 2m 10s —— View job Code Review
Overall this is a clean addition that follows the established patterns from the
|
| Severity | Finding |
|---|---|
| Moderate | Hardcoded unstable rethTag: "pr-142" |
| Moderate | No ev-node span assertions in TestGasBurner |
| Moderate | Poll errors silently swallowed in waitForMetricTarget |
| Minor | Warmup threshold (50) vs wallet count (500) mismatch risk |
| Minor | No context cancellation in polling loops |
| Minor | elapsed == 0 fallback needs a warning log |
| Nit | Map alignment inconsistency (gofmt) |
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
will re-introduce this test is a separate PR |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #3108 +/- ##
==========================================
+ Coverage 60.91% 60.93% +0.01%
==========================================
Files 113 113
Lines 11617 11617
==========================================
+ Hits 7077 7079 +2
+ Misses 3742 3739 -3
- Partials 798 799 +1
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Overview
Adds a
TestGasBurnerbenchmark to theSpamoorSuitethat measures gas throughputusing a deterministic gasburner workload. Reports
seconds_per_gigagas(lower is better)to the benchmark dashboard.
Builds on #3107 which introduced the benchmark suite infrastructure.
gasburner_test.go: spins up gasburner spammer, measures steady-state gas windowmeasureGasThroughput/waitForMetricTargethelpers inmetrics.go