JDK Mission Control 8.3 - Sip of Java
Billy Korando on June 4, 2023JDK Mission Control, JMC, is a control panel for managing, monitoring, and troubleshooting JVM applications. In November 2022, a new minor version of JMC was released, 8.3. Let’s take a look at some of the key changes introduced in that release.
Improved Cross-OS Support
The Flame, Graph, and Heat Map views introduced in earlier versions of JMC 8 are now supported on all major OS platforms (Windows, Mac, Linux).
Graph View Updates
The Graph View was updated to allow limiting the number of nodes displayed. A drop-down in the top right of the view panel provides different options for how the node graph will be pruned. In the below example, the node graph, which would be over 80 nodes, has been pruned down to the 10 most important nodes selected by JMC.
Flame View Updates
The Flame View has received similar updates to the Graph View in that it, too, now has options that limit the data displayed on the view. For the Flame View, in the top right there is a drop-down that provides different option samples for filtering the data.
New Dependency View Introduced
The most significant change introduced with JMC 8.3 is the addition of the Dependency View. The Dependency View can show the relationships between packages within a stack trace. This can be helpful for developers to show how code in one part of an application interacts with other parts.
The Dependency View provides options for displaying information, a chord graph, which is a circle showing how packages call one another, with thicker lines representing stronger connections.
An edge view for showing directionality in how packages interact with one another. With the colors meaning:
- Green: When you hover over a package, the methods in that package call the methods in the linked package.
- Yellow: Methods in the linked package call the methods in the hovered-over package.
- Red: Methods in the linked package and hovered over package call each other.
Like the other views, the Dependency View also has options for filtering the amount of information shown, in this case, how many levels of package interactions. Like the other views, this is handled with a drop-down in the top right of the panel.
Additional Reading
JDK Mission Control 8.3 Release Notes
Happy coding!