Skip to content

perf(l1,l2): use the new load test for the CI scripts #2467

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 14 commits into from
Apr 21, 2025

Conversation

Arkenan
Copy link
Collaborator

@Arkenan Arkenan commented Apr 15, 2025

Changes:

  • Flamegraph Watcher srcript now:
    • Uses the new load test.
    • Fails if any line fails (e.g. the load test binary panics).
  • CI:
    • The flamegraphs are now updated on push to main again.
    • Compilation and running is separated to delete the "while not compiled" polling.
    • Reth version is pinned so it does not rely on 2024 features and can be compiled again.
  • Load test:
    • make targets now run in release mode.
    • now waits until all transactions are included before exciting. There's a flag to set a timeout.
  • All ethrex_l2 references are deleted from CI and the watcher.

Closes #2466

Copy link

Lines of code report

Total lines added: 63
Total lines removed: 0
Total lines changed: 63

Detailed view
+----------------------------------+-------+------+
| File                             | Lines | Diff |
+----------------------------------+-------+------+
| ethrex/cmd/load_test/src/main.rs | 362   | +63  |
+----------------------------------+-------+------+

@Arkenan Arkenan changed the title Use the new load test for the CI scripts perf(l1,l2): use the new load test for the CI scripts Apr 15, 2025
@Arkenan Arkenan marked this pull request as ready for review April 16, 2025 16:41
@Arkenan Arkenan requested a review from a team as a code owner April 16, 2025 16:41
# By default ethrex uses revm as evm backend.
- id: generate-flamegraph-ethrex
name: Generate Flamegraph data for Ethrex
shell: bash
run: |
rm -rf target/release/ethrex
cargo build --release --bin ethrex --features dev
Copy link
Contributor

Choose a reason for hiding this comment

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

I think you'll get better results building with:

Suggested change
cargo build --release --bin ethrex --features dev
cargo build --profile release-with-debug --bin ethrex --features dev

echo "Waiting for ethrex binary to be ready..."
sleep 2
done
--bin ethrex --release --features dev -- \
Copy link
Contributor

Choose a reason for hiding this comment

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

Ditto.

Copy link
Contributor

@Oppen Oppen left a comment

Choose a reason for hiding this comment

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

LGTM. Left a suggestion.

@jrchatruc jrchatruc added this pull request to the merge queue Apr 21, 2025
Merged via the queue into main with commit 6ef0ee9 Apr 21, 2025
24 checks passed
@jrchatruc jrchatruc deleted the load_test_fix_reporter branch April 21, 2025 15:18
pedrobergamini pushed a commit to pedrobergamini/ethrex that referenced this pull request Aug 24, 2025
Changes:
- Flamegraph Watcher srcript now:
  - Uses the new load test.
  - Fails if any line fails (e.g. the load test binary panics).
- CI:
  - The flamegraphs are now updated on push to main again.
- Compilation and running is separated to delete the "while not
compiled" polling.
- Reth version is pinned so it does not rely on 2024 features and can be
compiled again.
- Load test:
  - `make` targets now run in release mode.
- now waits until all transactions are included before exciting. There's
a flag to set a timeout.
- All ethrex_l2 references are deleted from CI and the watcher.


Closes lambdaclass#2466
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.

Make CI flamegraph use the new load test
4 participants