JDK Mission Control 7 Release Notes
JDK Mission Control 7 (JMC) is an advanced set of tools that enables efficient and detailed data analysis, and delivers advanced, unobtrusive Java monitoring and management. JMC provides sections for common analysis areas such as code performance, memory, and latency.
JMC 7 is the first version to be developed by the open source community as part of the OpenJDK Mission Control project. JMC 7 can be used to monitor the Oracle JDK as well as the OpenJDK versions offered by Oracle. See https://openjdk.java.net/projects/jmc/ for more information.
This is a major new release of JMC. It is the first version of JMC that works with JDK 11. Note that this version can connect to JDK 7 and JDK 8 runtimes. It can open and visualize flight recordings from Oracle JDK 7 (7u40 and above).
The JMC client supports Eclipse 4.8 and later as a Plug-in. To install JMC as a plugin in Eclipse, follow the instructions provided at JDK Mission Control for Eclipse.
There are several Oracle plug-ins for use with JMC. Follow the instructions provided at JDK Mission Control Oracle Plug-ins.
There are hundreds of fixes and improvements in this release. Many of these were implemented before open sourcing the JMC project was completed. Some of the more relevant fixes and improvements can be found here: JMC 7 OpenJDK Result.
Because of the new Old Object Sample event in JDK 11 and the new Live Object page, it is possible to solve memory leaks in production systems without having to trigger heap dumps.
Rules have been added to the automated analysis, and many of the rules have been improved to provide more information.
The thread graph is presented now in the form of the Threads page. It provides an overview of events either in selected or in all threads.
The heap dump trigger now creates timestamped heap dumps in a new file. This enables multiple dumps without causing errors.
Synopsis: JMC in Applications on macOS
JMC now behaves like a standard macOS application where you can either open the stand alone application (.app) or drop it into the Applications folder.
Synopsis: JSon Results Report Now Contains Rule Evaluation Error Information
Previously only the XML format would contain an error node when a rule fails to evaluate. Now the JSon formatted rule report also contains error information.
Synopsis: Links in Rules
Links to more information in rule results now work.
Synopsis: Filter Fixes
Various filter problems have been fixed, such as being able to enable column headers for filters and allowing filter columns to be resized.
Synopsis: Improvements to Alert Dialog
The Alert Dialog now separates the alerts and the alert information, making it easier to see all the alert information.
Synopsis: JOverflow Editor Information
When the heapdump file is opened in the JOverflow editor, it is opened as a new tab. The absolute path of the heap dump file is displayed as the Tooltip.
Synopsis: G1 Page Modal Error Dialog
The G1 Page might throw errors and force a modal error dialog to appear when there was no relevant data in the file. This issue has been fixed.
Synopsis: JMC in Eclipse on Linux on JDK 8 (JMC-5486 and JMC-4848)
If you are running JMC 7 in Eclipse on JDK 8, you will need to set the environment variable SWT_GTK3=0 to force the use of GTK2 for JavaFX based plug-ins to work, such as JOverflow.
Synopsis: Hibernation and time (JMC-4270)
After the bugfix of JDK-6523160 in JDK 8, the
RuntimeMXBean#getUptime() attribute was re-implemented to mean "Elapsed time of JVM process", while it previously was implemented as time since start of the JVM process. The uptime attribute is used by JMC, together with
RuntimeMXBean#getStartTime(), to estimate the actual server time. This means that time stamps, as well as remaining time for a flight recording, can be wrong for processes on machines that have been hibernated.
Synopsis: Problem drag-and-dropping recordings to the analysis page (JMC-5412)
You can drag and drop flight recordings into JMC to open them. However, in JMC 7, dragging a recording to the new Automated Analysis Results page does not work. On the macOS platform, this can result in a crash. A workaround is to drag it to the top of the page or to any other page.
Synopsis: Disappearing Outline (JMC-6428)
When running JMC as a plug-in within Eclipse, opening some recordings may result in the Outline being empty and page navigation being impossible. As a workaround, open the recording in the stand-alone version of JMC.
Synopsis: Crash when opening a recording on OEL/RHEL 7.4 (JMC-6265)
Synopsis: JavaFX based plug-ins do not work on Linux systems without GTK 3 (JMC-5309)
The Coherence and the JOverflow plug-ins are embedding JavaFX in SWT, and will not work on Linux systems not having GTK 3.
Synopsis: Partial stack trace tooltips on macOS (JMC-5734)
Tooltips for the stack trace view can overflow on macOS, showing only partial information.