The latest release of JDK Mission Control was recently released! Since I am a bit late with this blog, there are already some binary releases available, for example:
Eclipse Mission Control:
Zulu Mission Control:
Mission Control 8.3 – New and Noteworthy
JMC 8.3 – New Release!
This is a new minor release of JDK Mission Control. The JMC application requires JDK 11+ to run, but can still be used to connect to, and parse JFR recordings from, OpenJDK 8u272+ and Oracle JDK 7u40+. It can also still open and visualize flight recordings from JDK 7 and 8. JDK Mission Control is built for Windows (x86_64), Mac OS X (ARM and x86_64), as well as Linux (x86_64).
Eclipse 4.24 support
The Mission Control client is now built to run optimally on Eclipse 2022-06 and later. To install JDK Mission Control into Eclipse, go to the update site (Help | Install New Software…). The URL to the update site will be vendor specific, and some vendors will instead provide an archive with the update site.
Minor bugfixes and improvements
There are 51 fixes and improvements in this release. Check out the JMC 8.3 Result Dashboard (https://bugs.openjdk.org/secure/Dashboard.jspa?selectPageId=21205) for more information.
The performance of the FastAccessNumberMap has been improved for sparse values.
Java Flight Recorder (JFR)
There is a new view for visualizing call dependencies. There are two modes of operation in the view, chord diagram and edge bundling. In the edge bundling visualization, hover over packages to see dependencies highlighted in colors: green means that methods in the linked package is called by methods in the package being hovered over, yellow means that methods in the linked package are calling mathods in the package being hovered over. Red means that methods in the packages are calling each other. To show the Dependency View, go to Window | Show View | Other… and select the Dependency View under the Mission Control folder.
The graph view in JMC can now be pruned to focus on the most impactful nodes. Select the target number of nodes, and the visualization will show at most that many number of nodes.
It is now possible to select which attribute to use for the weights in the trace view and the flame graph view.
The parser now supports parsing events with char fields.
Synopsis: Unable to open Help page in macOS M1 when JMC started with JDK11
The help page was inaccessible, throwing an error on macOS M1 when JMC is run on JDK 11.0.16. This is now fixed.
Synopsis: Unable to view JMC Help Contents (HTTP ERROR 500 ) when booted with JDK 17 or higher
The help page was inaccessible, throwing an error, when running on JDK 17+. This is now fixed.
Synopsis: Unable to open links from Automated Result analysis page
Links in the results of the automated analysis results would not open properly on Linux and Mac OS X. Now they do open in situ.
Synopsis: Hibernation and time
After the bugfix of https://bugs.openjdk.java.net/browse/JDK-6523160 in JDK 8, the RuntimeMXBean#getUptime() attribute was re-implemented to mean “Elapsed time of JVM process”, whilst 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: Unable to install JMC Plugins on Eclipse 4.25
Because of updates to the naming of certain platform dependencies in Eclipse 4.25 (e.g. JUnit 5 bundles now have name of the form junit-* instead of Orbit variants org.junit.*), it will no longer be possible to install the plug-in version of JMC into Eclipse 4.25+. This will be resolved in a later version of JMC. A workaround for now is to build JMC from the mainline (9.0 EA), and installing the plug-in version from the resulting update site archive.
Synopsis: JMC crashes while performing flight recording on MacOS 13.0_x64
Synopsis: JMC can’t attach to jlinked JVMs
This one is still under investigation, but it seems JMC can’t attach to certain jlinked images.
Synopsis: The graph, flame graph view, heatmap view and dependency view does not work on Windows
This is due to a problem with the Windows based browser component in SWT. We’re hoping for a fix in the component for a future version of the Eclipse platform.
There is a new version of JMC out. Have fun!