JMC logo

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.

Red Triangle New and Noteworthy


General



Open Source

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.

openjdk logo

JDK 11 Support

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).


JMC as Eclipse Plugin

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.


Oracle Plug-ins

There are several Oracle plug-ins for use with JMC. Follow the instructions provided at JDK Mission Control Oracle Plug-ins.


Minor bug fixes and improvements

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.



Java Flight Recorder (JFR)

Memory Leak Profiler

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.

JFR Live Object page


Improved Rules

Rules have been added to the automated analysis, and many of the rules have been improved to provide more information.

JFR rules

Threads Page

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.

JFR threads page




Management Console

Heap Dump Trigger Improved

The heap dump trigger now creates timestamped heap dumps in a new file. This enables multiple dumps without causing errors.

Management Console hprof



Red Triangle

Bug Fixes


Area: General
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.
 

Area: Core
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.
 

Area: JFR
Synopsis: Links in Rules

Links to more information in rule results now work.
 

Area: JFR
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.
 

Area: Console
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.
 

Area: Plug-ins
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.
 

Area: Incubator
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.



Red Triangle Known Issues


Area: General
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.
 

Area: General
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.
 

Area: JFR
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.
 

Area: JFR
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.
 

Area: JFR
Synopsis: Crash when opening a recording on OEL/RHEL 7.4 (JMC-6265)

Running JMC 7 on RHEL 7.4 can cause JMC to crash in libjavascriptcoregtk-4.0 when opening a recording.  The earliest supported release of RHEL is 7.6.
 

Area: Plug-ins
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.
 

Area: JFR
Synopsis: Partial stack trace tooltips on macOS (JMC-5734)

Tooltips for the stack trace view can overflow on macOS, showing only partial information.