Re:Flameshow: A Terminal Flamegraph Viewer
by gampleman on Monday September 25, 2023 @05:30AM
(#37641308)
What format does this support? Would be nice to have more examples, like how do I connect this to node profiling for instance?
[ Parent
| on HN ]
Re:Flameshow: A Terminal Flamegraph Viewer
by lloeki on Monday September 25, 2023 @05:44AM
(#37641392)
URL in example says Go pprof so at least that.
I wish it to be compatible with my go-to Ruby tools:
https://github.com/ruby-prof/ruby-prof
https://github.com/rbspy/rbspy
thus replacing this one:
Re:Flameshow: A Terminal Flamegraph Viewer
by laixintao on Monday September 25, 2023 @06:59AM
(#37641863)
Go pprof for now.
Let me check those tools, thank you very much!
I support if FlameGraph can render those, other tools should be able to interpret the dump as well.
rbspy supports pprof output. I haven't tried using it with this tool yet, but it should work.
Re:Flameshow: A Terminal Flamegraph Viewer
by laixintao on Monday September 25, 2023 @06:57AM
(#37641851)
For now, golang only.
But I am working on other supports.
Is there any common format for flamegraph (stacks), or should I do the work for all tools and languages?
Re:Flameshow: A Terminal Flamegraph Viewer
by lloeki on Monday September 25, 2023 @09:53AM
(#37643830)
Historically brendangregg's since AIUI he basically invented flamegraphs
https://www.brendangregg.com/flamegraphs.html
So if you can make your tool eat whatever https://github.com/brendangregg/FlameGraph is fed with you're going to support a lot of existing tooling across OSes and languages.
Re:Flameshow: A Terminal Flamegraph Viewer
by ngoldbaum on Monday September 25, 2023 @10:16AM
(#37644143)
I find py-spy really useful in python, it would be neat if you integrated with that somehow.
Re:Flameshow: A Terminal Flamegraph Viewer
by brancz on Monday September 25, 2023 @07:29AM
(#37642115)
Since pprof is supported you could use parca-agent [1], an eBPF-based profiler that I happen to work on, as when you browse the debug UI on port 7071 you can download a pprof formatted profile for any process running on the machine.
Supports Go, Rust, C++, C, Ruby, Python, C#, Java, Julia, Erlang, Nodejs, wasmtime, and more.
Re:Flameshow: A Terminal Flamegraph Viewer
by eyegor on Monday September 25, 2023 @09:22AM
(#37643344)
If that's true, you should probably update the docs. Everything I could find implied dotnet, jvm, python were still unsupported. For example, the roadmap section of the readme mentions most of these as future targets but nothing even mentions dotnet. However I did find your tickets and a demo being merged in which makes dotnet seem maybe supported?
Re:Flameshow: A Terminal Flamegraph Viewer
by brancz on Monday September 25, 2023 @10:12AM
(#37644095)
Thanks for mentioning that! We'll do that. To clarify the current state: dotnet and jvm require enabling flags, python fully works without any changes (as of 2 weeks ago blog post on how we made this possible is about to be released).