When it comes to finding performance bottlenecks, profiler is your best friend. Although there
are a lot of profilers available, even popular tools can be misleading. Performance problems are sometimes hidden deep inside the JVM or even the in the OS kernel. Andrei covers the pros and cons of some of the popular profilers, such as Java
JDK Mission Control, Java VisualVM, and perf, and he explains
why we may want to add another profiler to our tool box.
Topics:
General design of sampling profilers
What is wrong with conventional tools
Asynchronous stack traces
Hardware performance counters and perf
Visualization. Flame Graphs
Useful links:
Slides https://github.com/apangin/java-profiling-presentation/blob/master/presentation/java-profiling.pdf
Async-profiler https://github.com/jvm-profiling-tools/async-profiler
Andrei Pangin: github https://github.com/apangin twitter https://twitter.com/andreipangin
Why sampling java profilers are not good http://psy-lob-saw.blogspot.com/2016/02/why-most-sampling-java-profilers-are.html