News for hackers. Stuff that matters.
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?
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:

https://github.com/brendangregg/FlameGraph

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.

Re:Flameshow: A Terminal Flamegraph Viewer by acj on Monday September 25, 2023 @09:27AM (#37643439)
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.

[1] https://github.com/parca-dev/parca-agent

[2] https://www.parca.dev/

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?

Ticket: https://github.com/parca-dev/parca-agent/issues/161

Demo: https://github.com/parca-dev/parca-demo/pull/18

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).