4 ms·
It should be noted that even though the post links to the perl version for some reason, it is actually not what cargo flamegraph [0] uses, it uses a reimplement
by erk__ 1y ago
It should be noted that even though the post links to the perl version for some reason, it is actually not what cargo flamegraph [0] uses, it uses a reimplementation of it in Rust called inferno [1].
[0]: https://github.com/flamegraph-rs/flamegraph https://github.com/flamegraph-rs/flamegraph
[1]: https://github.com/jonhoo/inferno https://github.com/jonhoo/inferno
- IshKebab 1y agoAh interesting. It seems to be no better than the Perl one though, except not requiring Perl. It's still a static SVG.
- porphyra 1y agoIt's not a static SVG though. The SVG supports interactivity. You can click on each element to zoom in and it even has a search feature.
- IshKebab 1y agoAh really? Their example here doesn't do that: https://github.com/jonhoo/inferno/blob/main/tests/data/flamegraph/example-perf-stacks/example-perf-stacks.svg https://github.com/jonhoo/inferno/blob/main/tests/data/flame... But even so, pprof's is better. (You'll have to try it or take my word for it; they don't seem to have a demo anywhere unfortunately.) When you hover a function it highlights all the other calls to that function (in different stacks), and if you click it it shows all the calls to and from that function in all stacks with two-sided flame graph.
- ivanjermakov 1y agoAlso Jon streamed the process of porting flamegraph to Rust: https://youtu.be/jTpK-bNZiA4?si=VsvBln60BCEU7hbz https://youtu.be/jTpK-bNZiA4?si=VsvBln60BCEU7hbz