JMC logo

JDK Mission Control 7 Release Notes

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.

Note: JMC 8 supersedes the previous versions. JMC 8 can analyze recordings from JDK 7 and above. All JMC 7 users must upgrade to JMC 8. Download JMC 8 from here.

This page contains all of the release notes for Oracle JMC 7 releases:

JDK Mission Control 7.1.3 Release Notes

This section describes what is new in JDK Mission Control 7.1.3 release.

New and Noteworthy

General

JMC 7 Installation Instructions

If you get an alert that states A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be available in order to run JMC or Failed to create the Java Virtual Machine, then follow JDK Mission Control 7 Installation Instructions.

JMC as Eclipse Plug-in

JMC 7.1.3, when run as an Eclipse Plug-in, requires Eclipse 4.16 or later. To install JMC as a plug-in in Eclipse, follow the instructions provided at JDK Mission Control for Eclipse. Ensure that you run Eclipse on JDK 8 or above.

Oracle Plug-ins

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

Known Issue

Area: General

Synopsis: UI Components and operations are not working properly in macOS BigSur (JMC-7207)

Some UI components and operations are not working as expected on macOS BigSur.


JDK Mission Control 7.1.2 Release Notes

This section describes what is new in JDK Mission Control 7.1.2 release.

New and Noteworthy

General

JMC 7 Installation Instructions

If you get an alert that states A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be available in order to run JMC or Failed to create the Java Virtual Machine, then follow JDK Mission Control 7 Installation Instructions.

JOverflow Included with Default JMC Distribution

JOverflow is integrated with JMC Standalone Application. Earlier, JOverflow used to be an additional plug-in.

Improved Thread Graphs

You can hide or reset thread lanes directly from the Thread graph. The tool tip is also improved to provide more details about the selected thread.

Visualization of Native Libraries

A new page, Native Libraries has been added in JFR. This page provides details of native libraries loaded by the JVM (JDK 9 and later).

Visualize Latencies and Size Distribution Using HdrHistogram

The HdrHistogram API allows you to record and analyze histograms of value measurements in latency and performance sensitive applications. It enables plotting latency and size distribution charts in File I/O and Socket I/O pages.

Support for New JavaFX 12 Events and Hertz (Hz) in Unit Lookup

The JavaFX plug-in for JMC supports new JavaFX 12 events. Also, the events with jdk.jfr.Frequency annotation has Hertz (Hz) in unit lookup.

Quick Search on Automated Analysis Page

Quick search feature has been added to the automated analysis page that allows you to quickly search the results in Table view.

JMC as Eclipse Plug-in

JMC 7.1.2, when run as an Eclipse Plug-in, requires Eclipse 4.8 or later. To install JMC as a plug-in 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.

Known Issue

Area: Plug-ins

Synopsis: Unable to view Coherence Tab Pack plug-in (JMC-6747)

Coherence Tab Pack plug-in is not available in JMC 7.1.2 as it is currently being converted to SWT.

JDK Mission Control 7.0.1 Release Notes

JDK Mission Control 7.0.1 is primarily a bug fix release.

New and Noteworthy

General

JMC 7 Installation Instructions

If you see an alert that states "A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be available in order to run JMC" or "Failed to create the Java Virtual Machine", then follow JDK Mission Control 7 Installation Instructions.

JMC as Eclipse Plugin

JMC 7.0.1, when run as an Eclipse Plug-in, requires Eclipse 4.8 or later. 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.

Bug Fixes

Area: JFR

Synopsis: Improvement in Event Data Parsing

There has been improvement in parsing the JFR event data using the owasp encoder.


JDK Mission Control 7.0.0 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.

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.

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

JMC 7.0.0, when run as an Eclipse Plug-in, requires Eclipse 4.8 or later. 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.

Improved Rules

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

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.

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.

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.

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

Synopsis: JMC 7 fails to start on macOS (JMC-6653)

JMC 7 does not work on macOS with some versions of JDK, and an error message "Failed to create the Java Virtual Machine" is displayed. Such JDK versions (for example JDK 14.0 ) has a copy of libjli.dylib in following locations, under the JDK base installation directory:

/Contents/Home/lib/libjli.dylib

/Contents/MacOS/libjli.dylib

For running JMC 7, the libjli.dylib located in /Contents/MacOS/ directory of boot JDK must be a soft link to /Contents/Home/lib/libjli.dylib.

If it is not a soft link, then follow these steps:
  1. Go to JDK base installation directory, and delete the file libjli.dylib

    $ rm ./Contents/MacOS/libjli.dylib

  2. Run following commands to create the softlink:

    cd ./Contents/MacOS/

    ln -s ../Home/lib/libjli.dylib libjli.dylib

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.