Closed knutwalker closed 5 years ago
Yes, I'm aware of sbt-jmh and have looked at (and used) it. The main difference is that this profiler will delegate the generation of the flame graph directly to the async-profiler instead of using an additional tool. It's a somewhat recent addition to async-profiler (1.2, I think) and the option didn't exist when Konrads profiler was written. Also, we use, in my opinion, nicer filenames by default.
Recent build errors are unrelated to this PR and fixed with #897
To enable it, run the benchmarks with
-prof org.neo4j.prof.FlameGraph
. You have to download the async-profiler and point to its location withASYNC_PROFILER_DIR=/path/to/async-profiler
or by using theasyncProfiler
option. Per default, the output files are saved under /tmp (or wherever java.io.tmp points to) in the org.neo4j/bench subdirectory, grouped by the benchmark class. Run with-prof org.neo4j.prof.FlameGraph:help
to see all possible options.