1 What's New in JDK Mission Control 9

JDK Mission Control (JMC) is an advanced set of tools for managing, monitoring, profiling, and troubleshooting Java applications. JMC enables efficient and detailed data analysis for areas such as code performance, memory, and latency without introducing the performance overhead normally associated with profiling and monitoring tools.

JMC 9.1

The following are some of the new features introduced in JMC 9.1:
  • With JMC 9.1, you can connect to JVMs using Jolokia. Jolokia is an alternative to JSR-160 connectors that allows JMX-HTTP communication. JMC also supports auto discovery of Jolokia's agents. To view or update Jolokia's preferences:
    • In Windows, go to Windows, Preferences, JDK Mission Control, JVM Browser, and then Jolokia.
    • In macOS, go to JDK Mission Control, Settings, JDK Mission Control, JVM Browser, and then Jolokia.
  • The JDK Mission Control client is now built to run optimally on Eclipse 2024-12 (4.34) and later.
  • The resident set size (RSS) will now be displayed both on the memory page and on the Java Application page. You can toggle the RSS display on and off using the check box legends to the right of the graphs.
  • For attributes with long data types, JMC no longer displays the scientific notation.
  • The Results tab of VMOperation Peak Duration displays the top 5 VM Operations (ordered by max time), including the thread that initiated them.
  • On the threads page, hovering over a thread name displays the thread ID in the tool tip.
  • JMC now has a new rule that checks for PID 1 for Java processes. Java processes should not run with PID 1. PID is reserved for the init process on Linux, which is responsible for signal handling and process management.

JMC 9.0

The following are some of the new features introduced in JMC 9.0:

  • Reduced allocations in the JMC parser have significantly improved JFR parser performance, including reduction in Doubles and allocation rate in ParserStats. Binary search has also improved the speed of linear time reordering and linear lane search.
  • Search by event type IDs is enabled and is displayed in a column (hidden by default) next to the event ID.
  • JMC can start Flight recorder on GraalVM native image.
  • To improve the performance and efficiency of the flamegraph visualization, a Java Swing based framework is used. In addition, the performance of flame graph model creation has been improved.
  • A new field has been added to specify the scan frequency of the JVM browser to monitor JVMs. To update the scan frequency:
    • In Windows, go to Windows, Preferences, JDK Mission Control, JVM Browser, and then Local.
    • In macOS, go to JDK Mission Control, Settings, JDK Mission Control, JVM Browser, and then Local.
    Enter the required scan interval in JVM Browser Refresh Interval (ms) field.
  • JMC 9 supports dark mode. Go to Preferences, General, Appearance, and select the Dark theme to enable.
  • New rule is added to use the jdk.FinalizerStatistics JFR event. This event helps to determine where the finalizers, which have been deprecated for removal in a future release, are run in your application.
  • New rule is added to display G1 MMU information. It compares the pause time targets with the actual pause time and provides a warning message if it exceeds the pause target.
  • A new rule has been added to JMC to detect Inverted Parallelism in GC. The new rule makes use of the new GC CPU time JFR event, which has been introduced in JDK 20. See Add rule to detect GC Inverted Parallelism for more information.
  • The Percentage (by Duration) column is added in the Stack Trace tab. It displays the percentage of aggregate duration (in time unit).
  • Automated analysis now displays the reason for all Ignored Rules, helping to clearly understand the reason behind missing events.
  • Stack traces can be exported in collapsed format. Right-click the stack trace you wish to export, select Export stacktraces and Collapsed.
  • JMC is now supported on Linux aarch64 platform.
  • Due to changes in the APIs provided by Twitter, the JMC plug-in for Twitter has been removed.