Skip to content
Merged
Changes from 1 commit
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
81dc810
refactor: move spamoor benchmark into testify suite in test/e2e/bench…
chatton Feb 25, 2026
cc56590
merge main into cian/bench-refactor
chatton Feb 25, 2026
18fc15a
fix: correct BENCH_JSON_OUTPUT path for spamoor benchmark
chatton Feb 25, 2026
fccd9db
fix: place package pattern before test binary flags in benchmark CI
chatton Feb 25, 2026
ae525ca
fix: adjust evm-binary path for benchmark subpackage working directory
chatton Feb 25, 2026
039eaf7
wip: erc20 benchmark test
chatton Feb 25, 2026
85c9d2d
fix: exclude benchmark subpackage from make test-e2e
chatton Feb 25, 2026
fe8d166
fix: replace FilterLogs with header iteration and optimize spamoor co…
chatton Feb 26, 2026
99e3e42
fix: improve benchmark measurement window and reliability
chatton Feb 26, 2026
e4e06c5
fix: address PR review feedback for benchmark suite
chatton Mar 2, 2026
1c3b560
Merge branch 'main' into cian/bench-refactor
chatton Mar 2, 2026
03b9239
chore: specify http
chatton Mar 2, 2026
fe3ca23
chore: filter out benchmark tests from test-e2e
chatton Mar 2, 2026
8752fee
Merge branch 'main' into cian/bench-refactor
chatton Mar 2, 2026
06f532b
Merge branch 'cian/bench-refactor' into cian/erc20-benchmark
chatton Mar 2, 2026
560974a
Merge remote-tracking branch 'origin/main' into cian/erc20-benchmark
chatton Mar 2, 2026
054f2c6
refactor: centralize reth config and lower ERC20 spammer count
chatton Mar 2, 2026
26bb117
chore: collect all traces at once
chatton Mar 2, 2026
b88cae3
chore: self review
chatton Mar 2, 2026
272ab71
refactor: extract benchmark helpers to slim down ERC20 test body
chatton Mar 2, 2026
676e0d1
docs: add detailed documentation to benchmark helper methods
chatton Mar 2, 2026
f4949a1
ci: add ERC20 throughput benchmark job
chatton Mar 2, 2026
4c7b7e1
chore: remove span assertions
chatton Mar 2, 2026
6f56c80
chore: adding gas burner test
chatton Mar 2, 2026
40ff689
feat: allowing for env vars to be set for external resources
chatton Mar 3, 2026
4a7af54
chore: adding private key as env var
chatton Mar 3, 2026
d2aeebc
chore: use host networking for spamoor in external mode
chatton Mar 4, 2026
7a85f3b
fix: pin tastora to correct commit with host network support
chatton Mar 4, 2026
f42ffe0
chore: change service name
chatton Mar 4, 2026
53d12e1
chore: scope victoria traces queries to current test run
chatton Mar 4, 2026
bdd7132
chore: paginate victoria traces queries
chatton Mar 4, 2026
0fe81a1
chore: reduce tryCollectSpans timeout to 15s for victoria provider
chatton Mar 4, 2026
2756ce3
chore: increase gas burner spammers from 4 to 8
chatton Mar 4, 2026
8802838
chore: revert gas burner spammers back to 4
chatton Mar 4, 2026
2f27ab9
chore: switch victoria traces to LogsQL API
chatton Mar 4, 2026
67c00d3
fix: use _stream filter syntax for LogsQL query
chatton Mar 4, 2026
f7a8c5f
chore: tune gasburner config for 100M gas limit blocks
chatton Mar 4, 2026
1308af4
chore: match spamoor slot-duration to deployed 250ms block time
chatton Mar 4, 2026
3b4f5d1
chore: increase gasburner tx count for sustained load
chatton Mar 4, 2026
c0de7a3
chore: use 8 spammers for sustained gasburner load
chatton Mar 4, 2026
f5d0eaa
chore: revert to 4 spammers to avoid nonce collisions
chatton Mar 4, 2026
6c4ca40
chore: bump gasburner fees to 1000/500 gwei to clear stale txs
chatton Mar 4, 2026
2d4ab9a
chore: adding support for rich flowchart display
chatton Mar 5, 2026
9bd2381
adding host name to span
chatton Mar 10, 2026
dffc429
chore: add re-broadcast
chatton Mar 10, 2026
7fac0a3
chore: adding flowchart
chatton Mar 10, 2026
4445cde
chore: bump fee
chatton Mar 10, 2026
64633d8
chore: bump wallet amounts
chatton Mar 10, 2026
f6100a2
chore: increase throughput
chatton Mar 10, 2026
51754b8
chore: 4x tx volume
chatton Mar 10, 2026
f1e68d2
chore: fewer tx, higher gas
chatton Mar 10, 2026
a3325dd
chore: remove amount
chatton Mar 10, 2026
aea69a2
Bumped from 50/20 ETH to 500/200 ETH per wallet
chatton Mar 11, 2026
1468615
Merge remote-tracking branch 'origin/main' into cian/enable-tests-to-…
chatton Mar 12, 2026
ae26530
feat: parameterize benchmark config via env vars and add engine span …
chatton Mar 12, 2026
8866358
refactor: extract benchConfig and benchmarkResult types
chatton Mar 12, 2026
87348de
chore: cleaning up flowchart dissplay and fixing UI link error
chatton Mar 12, 2026
1990e85
refactor: address PR review feedback on benchmark harness
chatton Mar 18, 2026
0a4c8a4
Merge branch 'main' into cian/enable-tests-to-run-without-infra
chatton Mar 18, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Merge remote-tracking branch 'origin/main' into cian/erc20-benchmark
# Conflicts:
#	test/e2e/benchmark/suite_test.go
  • Loading branch information
chatton committed Mar 2, 2026
commit 560974a1b0b5295e061269f97d76c87de6b195f0
3 changes: 1 addition & 2 deletions test/e2e/benchmark/suite_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,6 @@ func (s *SpamoorSuite) tryCollectServiceTraces(e *env, serviceName string) []e2e
t.Logf("warning: failed to fetch %s traces: %v", serviceName, err)
return nil
}
// got some data before failing, use what we have
t.Logf("warning: %s trace fetch stopped after %d batches (%d spans): %v", serviceName, batch, len(allSpans), err)
break
}
Expand All @@ -178,7 +177,7 @@ func (s *SpamoorSuite) tryCollectServiceTraces(e *env, serviceName string) []e2e
}
allSpans = append(allSpans, spans...)
if len(traces) < batchSize {
break // got fewer traces than requested, no more available
break
}
Comment on lines +231 to +237

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Best-effort rich-span collection shouldn't add minutes of blocking.

This branch ignores rich-span errors, but collectRichSpans still waits up to 3 minutes per call. When rich spans are unavailable, optional diagnostics can add roughly 3-6 minutes of dead time to a run. Gate the ev-reth branch on len(tr.evReth) > 0, and use a short-timeout/try variant for rich spans as well.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@test/e2e/benchmark/suite_test.go` around lines 231 - 237, The current
best-effort rich-span collection calls richSpanCollector.collectRichSpans twice
and can block ~3 minutes each even when results are optional; change the logic
in the branch that checks e.traces.(richSpanCollector) so: 1) only call
rc.collectRichSpans(ctx, "ev-reth") if len(tr.evReth) > 0 to gate that extra
call, and 2) replace the blocking collectRichSpans calls with a short-timeout or
non-blocking/try variant (or wrap the call with a short context timeout) when
populating tr.evNodeRich and tr.evRethRich to avoid multi-minute waits when rich
spans are unavailable. Ensure you update references to richSpanCollector,
collectRichSpans, serviceName, tr.evNodeRich, tr.evRethRich, and tr.evReth
accordingly.

}

Expand Down
You are viewing a condensed version of this merge commit. You can view the full changes here.