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
stall-analyser: add output support for flamegraph #2174
base: master
Are you sure you want to change the base?
Conversation
Can you please upload an example of the result? |
sure. the log file and executable come from scylladb/scylladb#11971 $ sudo dnf install flamegraph # install flamegraph if it's not available
$ ./stall-analyser.py --format trace -e scylla/libexec/scylla \
reactor_stalled_231d31df_2022_2_twcs_3h.log | \
flamegraph.pl --title 'Reactor Stalls' --countname "ms" > /tmp/folded.svg
$ xdg-open /tmp/folded.svg |
b7f6010
to
fcf367b
Compare
@bhalevy hi Benny, if the general direction is sane, we could render an SVG on the fly without using |
It looks nice visually, but I don't see how it helps understanding the stack traces any better. |
@bhalevy hi Benny, thank you for your review. i think it does not provide more information, even worse, it provides less information than the existing plain text output. but the reason i added this output was not just for offering an eye candy. with a graph we can identify the the hotspot with a quick glance. then we can continue looking at the text output and the logging messages. it serves the same purpose of https://www.brendangregg.com/flamegraphs.html i am extracting the refactor part out into #2178. would be great to make stall-analyser an importable module in future. |
a typical session is like: ```console $ ./stall-analyser.py --format trace -e scylla/libexec/scylla \ reactor_stalled_231d31df_2022_2_twcs_3h.log > out.folded $ flamegraph.pl out.folded > /tmp/folded.svg $ xdg-open /tmp/folded.svg ``` Signed-off-by: Kefu Chai <kefu.chai@scylladb.com>
a typical session is like: