JFR recordings produced by async-profiler can be viewed using multiple options explained below.
async-profiler provides a built-in converter jfrconv
which can be used to convert jfr
output
to a flame graph or one of the other supported formats. More details on the built-in converter usage
can be found here.
JDK Mission Control (JMC) is a popular GUI tool to analyze JFR recordings. It has been originally developed to work in conjunction with the JDK Flight Recorder, however, async-profiler recordings are also fully compatible with JMC.
When viewing async-profiler recordings in JMC, information on some tabs may be missing. Developers are typically interested in the following sections:
- Java Application
- Method Profiling
- Memory
- Lock Instances
- JVM Internals
- TLAB Allocations
IntelliJ IDEA Ultimate has built-in JFR viewer that works perfectly with async-profiler recordings. For the Community Edition, there is an open-source profiler plugin that allows you to profile Java applications with JFR and async-profiler as well as open JFR files obtained outside IDE.
JDK distributions include the jfr
command line utility to filter, summarize and output
flight recording files into human-readable format. The
official documentation
provides complete information on how to manipulate the contents and translate it as per
developers' needs to debug performance issues with their Java applications.