grafana / JPProf

Go Pprof but for Java runtime.
Apache License 2.0
69 stars 5 forks source link

[feat] Support allocations and locking data extraction from JFR #30

Open dalehamel opened 1 year ago

dalehamel commented 1 year ago

See https://github.com/async-profiler/async-profiler/pull/713 (cc @NeQuissimus)

Afaict https://github.com/grafana/JPProf/blob/main/lib/src/main/java/jpprof/jfr2pprof.java was copied from async-profiler, so the above patch should apply fairly cleanly with some manual intervention, since the code has been refactored some.

It also looks like there could be some fixes here that could be backported to async-profiler if indeed they share a common origin.

github-louis-fruleux commented 1 year ago

One issue that could occur is CPU and memory profiling hits two different endpoints. For now, we need to start 2 async profilers instances (because routes are not called simultaneously). And that's not supported in async-profiler (is it?)

But that would definitely be nice to have this support in JPProf :D