-
Notifications
You must be signed in to change notification settings - Fork 29
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
ci(l2): automate flamegraph tests #1366
base: main
Are you sure you want to change the base?
Conversation
4b9b05a
to
45b74ad
Compare
45b74ad
to
441fc6a
Compare
8df6f77
to
56dccda
Compare
d6742e6
to
2d9e8fd
Compare
6498d41
to
320acec
Compare
@@ -0,0 +1,209 @@ | |||
name: Daily Flamegraph Reporter |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I collapsed all daily reports into https://github.com/lambdaclass/ethrex/blob/main/.github/workflows/daily_reports.yaml
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks! Not sure if it's daily though, I forgot I had named it like that but I think it's supposed to run in each merge to master; I will ask Javi/Ivan.
Previously I had capped this to 10 to test the CI more easily.
* More quiet output in flamegraph commands * Remove some debug prints/ls/etc. * Wait more time for reth to compile before testing
bf2cf6c
to
bec51f9
Compare
bec51f9
to
70e7ed6
Compare
70e7ed6
to
6b0c5e2
Compare
fc0c167
to
d79edc9
Compare
d79edc9
to
3ff3063
Compare
88c66f9
to
dbec9c7
Compare
Motivation
We want to generate flamegraphs both for
ethrex
and forreth
on each push to main, and then be able to view them in github pages or similar.You can see the flamegraphs at https://lambdaclass.github.io/ethrex/
Description
ethrex_l2
CLI was modified to be able to create a default config non-interactively withethrex_l2 config create default --default
since the interactive CLI was not working in Github CI.ethrex_l2 test load
was modified so that it now retries when it can't connect to the server instead of failing directly, this was needed to run the test in Github CI.test_data/genesis-load-test.json
was modified to add balance to a test account, since the tests were failing sometimes otherwise.make flamegraph
locally to run the same scripts locally to generate the Ethrex flamegraphs (not the Reth ones).Notes
inferno-collapse-perf
plusinferno-flamegraph
separately because of a bug inperf
with Github CI where it would output garbage to the stdout instead of the actual perf data to aperf.data
file.Things that we should fix/check
perf script
with the--no-inline
option, since it takes a very long time without it, maybe we're not getting the proper data because of that.Other possible improvements
.png
files as preview since the.svg
look cropped there.scripts/flamegraph.sh
and.github/scripts/flamegraph_watcher.sh
and very similar and they could be merged into one, however I hardcoded some CI-paths in the latter one.