Profilers help to analyze performance bottlenecks of your application – if you know which to use and how to work with them.
There are many open-source profilers, like async-profiler or JMC. This talk will give you insights into these tools, focusing on:
- Understanding the basic concepts of profiling like flame graphs, …
- Usage of async-profiler and JMC
- Advantages and disadvantages of the different tools
I gave (and will give) this presentation with slightly varying titles at several conferences: QCon London, JUG Milan, JavaZone Oslo, JavaForum Nord, Code Talks Hamburg, Devoxx Belgium, and JCon World, to name a few. More information on my previous and upcoming talks can be found on my Presentations page.
The following is a recording and slides from JavaZone:
There are also a video and slides for a related different talk given at Devoxx Belgium:
I mentioned in the talks a few resources and blog posts that I want to share here:
- my blog: Writing a Profiler in 240 Lines of Pure Java, Do you trust profilers? I once did too and many more, just read my blog, you’ll find articles ranging custom profiling events to the inner workings of safepoints deep down the rabbit hole
- Unleash the Power of Open Source Java Profilers: Comparing VisualVM, JMC, and async-profiler on InfoQ
- Async-Profiler – manual by use cases by Krzysztof Ślusarski
- YouTube-Playlist on profiling
- Collection of helpful blogs and other resources
- my and my team’s Twitter account
- JFR Event Collection
- SapMachine website
- Other useful blog posts mentioned: Understanding Request Latency with Profiling