About a month ago, I had the pleasure of taking a tutorial led by the fantastic Brendan Gregg on creating FlameGraphs using the Linux
perf toolset. I recommend reading his many blog posts on the subject, but in short: while
perf is an excellent resource for debugging kernel and user space processes, FlameGraphs make the data even easier to consume.
Now, if the process you’re trying to profile is Java, there are some extra hoops to jump through, which Brendan has also detailed online.
But if the Java process is in a container, it’s even more annoying. That’s where this post comes in.