profilingjava-10jmcjfr

Java Mission Control (JMC) 6.0 does not show hot methods when examining a JFR flight recording


After using the Java Flight Recording functionality on a running application, Java's JMC could be used to examine the resulting JFR file to show hot methods, and a percentage of CPU time spent in each method. This was very useful for profiling applications and identifying bottlenecks.

Here is an example of what was previously possible in older versions of JMC:

Older JMC version

Older JMC version

This screen seems to be missing in JMC 6.0 that is bundled with Java 10. Here is an example of what I see in the Java 10 bundled JMC 6.0:

JMC 6.0

There seems to be a rudimentary count of method calls, but no Percentage CPU time is listed. There don't appear to be options to add the missing column.

Is there a way to show hot method %CPU time, or has this functionality been removed from JMC 6.0 in JDK10?


Solution

  • The percentage column is not cpu time, but percentage of the total number of method samples. The same info is displayed as the backdrop in the Count column in JMC 6.0, and I believe if you hover over the column to get the tooltip there might be a percentage number.

    I know you are not the first person to miss the percentage column, there is an enhancement request in the JMC Jira for this: https://bugs.openjdk.java.net/browse/JMC-5721