/jug-profiling-talk

Notes and scripts for my JUG KA talk on Java profiling

Primary LanguageJavaApache License 2.0Apache-2.0

JUG Karlsruhe Talk

Notes and scripts for my JUG Karlsruhe talk on Java profiling [pdf] [pptx] [recording]

Interesting talks

I collected a list of interesting talks on profiling in a YouTube playlist

Interesting blogs

The following are interesting blogs on Java profiling and performance:

Interesting people to follow on Twitter

Interesting blog posts and slides

demo.py

Wrapper around JFR and async-profiler ($ASYNC_PROFILER should point to repo with built async-profiler). Works only for JDK11+.

Record a simple JFR trace via

./demo.py jfr -f file.jfr -- -cp example/target/example-1.0.jar EventFilterApp example/samples/large.jfr ".*GC.*"

and a simple async-profiler trace via

./demo.py async -s -f file.jfr -- -cp example/target/example-1.0.jar EventFilterApp example/samples/large.jfr ".*GC.*"

produce a flamegraph via

./demo.py async -f file.html -t flamegraph -- -cp example/target/example-1.0.jar EventFilterApp example/samples/large.jfr ".*GC.*"

Requires the click package (install it via pip3 install click)

JFR config files

  • cpu_profiling.jfc: CPU profiling and nothing more
  • cpu_and_mem_profiling.jfc: CPU and memory profiling and nothing more

Where to find the tools

JMC can be found from different vendors, for example

The prototypical version of the IntellIJ plugin can be found on GitHub.

async-profiler can be found on GitHub too.

License

CC-BY-SA 3.0