{"id":1417,"date":"2022-11-22T22:11:00","date_gmt":"2022-11-22T21:11:00","guid":{"rendered":"http:\/\/hirt.se\/blog\/?p=1417"},"modified":"2022-11-22T19:34:28","modified_gmt":"2022-11-22T18:34:28","slug":"jdk-mission-control-8-3-0-released","status":"publish","type":"post","link":"https:\/\/hirt.se\/blog\/?p=1417","title":{"rendered":"JDK Mission Control 8.3.0 Released!"},"content":{"rendered":"<p>The <a href=\"https:\/\/github.com\/openjdk\/jmc\/releases\/tag\/8.3.0-ga\">latest release<\/a> 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:<\/p>\n<p>Eclipse Mission Control:<br \/><a title=\"https:\/\/adoptium.net\/jmc\/\" href=\"https:\/\/adoptium.net\/jmc\/\">https:\/\/adoptium.net\/jmc\/<\/a><\/p>\n<p>Zulu Mission Control:<br \/><a title=\"https:\/\/www.azul.com\/products\/components\/azul-mission-control\/\" href=\"https:\/\/www.azul.com\/products\/components\/azul-mission-control\/\">https:\/\/www.azul.com\/products\/components\/azul-mission-control\/<\/a><\/p>\n<h4>\u00a0<\/h4>\n<h4>Mission Control 8.3 &#8211; New and Noteworthy<\/h4>\n<hr \/>\n<h4>General<\/h4>\n<hr \/>\n<p><b>JMC 8.3 &#8211; New Release!<\/b><br \/>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).<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" style=\"display: inline; background-image: none;\" title=\"jmc[1]\" src=\"https:\/\/hirt.se\/blog\/wp-content\/uploads\/2022\/11\/jmc1.png\" alt=\"jmc[1]\" width=\"132\" height=\"132\" border=\"0\" \/><\/p>\n<hr \/>\n<p><b>Eclipse 4.24 support<\/b><br \/>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&#8230;). The URL to the update site will be vendor specific, and some vendors will instead provide an archive with the update site.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" style=\"display: inline; background-image: none;\" title=\"eclipse[1]\" src=\"https:\/\/hirt.se\/blog\/wp-content\/uploads\/2022\/11\/eclipse1.png\" alt=\"eclipse[1]\" width=\"132\" height=\"132\" border=\"0\" \/><\/p>\n<hr \/>\n<p><b>Minor bugfixes and improvements<\/b><br \/>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.<\/p>\n<p><a href=\"https:\/\/hirt.se\/blog\/wp-content\/uploads\/2022\/11\/issues.png\"><img loading=\"lazy\" decoding=\"async\" style=\"display: inline; background-image: none;\" title=\"issues\" src=\"https:\/\/hirt.se\/blog\/wp-content\/uploads\/2022\/11\/issues_thumb.png\" alt=\"issues\" width=\"354\" height=\"196\" border=\"0\" \/><\/a><\/p>\n<hr \/>\n<h4>Core<\/h4>\n<hr \/>\n<p><b>Parser improvements<\/b><br \/>The performance of the FastAccessNumberMap has been improved for sparse values.<\/p>\n<p><a href=\"https:\/\/hirt.se\/blog\/wp-content\/uploads\/2022\/11\/noimage1.png\"><img loading=\"lazy\" decoding=\"async\" style=\"margin: 0px; display: inline; background-image: none;\" title=\"noimage[1]\" src=\"https:\/\/hirt.se\/blog\/wp-content\/uploads\/2022\/11\/noimage1_thumb.png\" alt=\"noimage[1]\" width=\"6\" height=\"6\" border=\"0\" \/><\/a><\/p>\n<hr \/>\n<h4>Java Flight Recorder (JFR)<\/h4>\n<hr \/>\n<p><b>Dependency View<\/b><br \/>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&#8230; and select the Dependency View under the Mission Control folder.<\/p>\n<p><a href=\"https:\/\/hirt.se\/blog\/wp-content\/uploads\/2022\/11\/dependency.png\"><img loading=\"lazy\" decoding=\"async\" style=\"display: inline; background-image: none;\" title=\"dependency\" src=\"https:\/\/hirt.se\/blog\/wp-content\/uploads\/2022\/11\/dependency_thumb.png\" alt=\"dependency\" width=\"354\" height=\"271\" border=\"0\" \/><\/a><\/p>\n<hr \/>\n<p><b>Graph Pruning<\/b><br \/>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.<\/p>\n<p><a href=\"https:\/\/hirt.se\/blog\/wp-content\/uploads\/2022\/11\/graphpruning.png\"><img loading=\"lazy\" decoding=\"async\" style=\"display: inline; background-image: none;\" title=\"graphpruning\" src=\"https:\/\/hirt.se\/blog\/wp-content\/uploads\/2022\/11\/graphpruning_thumb.png\" alt=\"graphpruning\" width=\"354\" height=\"252\" border=\"0\" \/><\/a><\/p>\n<hr \/>\n<p><b>Selectable Attribute<\/b><br \/>It is now possible to select which attribute to use for the weights in the trace view and the flame graph view.<\/p>\n<p><a href=\"https:\/\/hirt.se\/blog\/wp-content\/uploads\/2022\/11\/attribute.png\"><img loading=\"lazy\" decoding=\"async\" style=\"display: inline; background-image: none;\" title=\"attribute\" src=\"https:\/\/hirt.se\/blog\/wp-content\/uploads\/2022\/11\/attribute_thumb.png\" alt=\"attribute\" width=\"354\" height=\"287\" border=\"0\" \/><\/a><\/p>\n<hr \/>\n<p><b>Parser improvement<\/b><br \/>The parser now supports parsing events with char fields.<\/p>\n<hr \/>\n<h4>Bug Fixes<\/h4>\n<hr \/>\n<p><b>Area: <\/b>General<br \/><b>Issue: <\/b><a href=\"https:\/\/bugs.openjdk.java.net\/browse\/JMC-7813\">7813<\/a><br \/><b>Synopsis: <\/b>Unable to open Help page in macOS M1 when JMC started with JDK11<\/p>\n<p>The help page was inaccessible, throwing an error on macOS M1 when JMC is run on JDK 11.0.16. This is now fixed.<\/p>\n<p><b>Area: <\/b>General<br \/><b>Issue: <\/b><a href=\"https:\/\/bugs.openjdk.java.net\/browse\/JMC-7321\">7321<\/a><br \/><b>Synopsis: <\/b>Unable to view JMC Help Contents (HTTP ERROR 500 ) when booted with JDK 17 or higher<\/p>\n<p>The help page was inaccessible, throwing an error, when running on JDK 17+. This is now fixed.<\/p>\n<p><b>Area: <\/b>JFR<br \/><b>Issue: <\/b><a href=\"https:\/\/bugs.openjdk.java.net\/browse\/JMC-7812\">7812<\/a><br \/><b>Synopsis: <\/b>Unable to open links from Automated Result analysis page<\/p>\n<p>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.<\/p>\n<hr \/>\n<h4>Known Issues<\/h4>\n<hr \/>\n<p><b>Area: <\/b>General<br \/><b>Issue: <\/b><a href=\"https:\/\/bugs.openjdk.java.net\/browse\/JMC-4270\">4270<\/a><br \/><b>Synopsis: <\/b>Hibernation and time<\/p>\n<p>After the bugfix of https:\/\/bugs.openjdk.java.net\/browse\/JDK-6523160 in JDK 8, the RuntimeMXBean#getUptime() attribute was re-implemented to mean &#8220;Elapsed time of JVM process&#8221;, 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.<\/p>\n<p><b>Area: <\/b>General<br \/><b>Issue: <\/b><a href=\"https:\/\/bugs.openjdk.java.net\/browse\/JMC-7953\">7953<\/a><br \/><b>Synopsis: <\/b>Unable to install JMC Plugins on Eclipse 4.25<\/p>\n<p>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 <span style=\"font-family: Courier New;\">junit-*<\/span> instead of Orbit variants <span style=\"font-family: Courier New;\">org.junit.*<\/span>), 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.<\/p>\n<p><b>Area: <\/b>JFR<br \/><b>Issue: <\/b><a href=\"https:\/\/bugs.openjdk.java.net\/browse\/JMC-7947\">7947<\/a><br \/><b>Synopsis: <\/b>JMC crashes while performing flight recording on MacOS 13.0_x64<\/p>\n<p>JMC can crash when completing a recording on MacOS 13.0 on x64. It seems to be related to running JavaScript in the Browser component. Eclipse is investigating the issue <a href=\"https:\/\/github.com\/eclipse-platform\/eclipse.platform.swt\/issues\/452\">here<\/a>.<\/p>\n<p><b>Area: <\/b>JFR<br \/><b>Issue: <\/b><a href=\"https:\/\/bugs.openjdk.java.net\/browse\/JMC-7071\">7071<\/a><br \/><b>Synopsis: <\/b>JMC can&#8217;t attach to jlinked JVMs<\/p>\n<p>This one is still under investigation, but it seems JMC can&#8217;t attach to certain jlinked images.<\/p>\n<p><b>Area: <\/b>JFR<br \/><b>Issue: <\/b><a href=\"https:\/\/bugs.openjdk.java.net\/browse\/JMC-7003\">7003<\/a><br \/><b>Synopsis: <\/b>The graph, flame graph view, heatmap view and dependency view does not work on Windows<\/p>\n<p>This is due to a problem with the Windows based browser component in SWT. We&#8217;re hoping for a fix in the component for a future version of the Eclipse platform.<\/p>\n<hr \/>\n<h3>TL;DR<\/h3>\n<p>There is a new version of JMC out. Have fun! <img decoding=\"async\" class=\"wlEmoticon wlEmoticon-smile\" src=\"https:\/\/hirt.se\/blog\/wp-content\/uploads\/2022\/11\/wlEmoticon-smile.png\" alt=\"Smile\" \/><\/p>\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\"  style=\"display: block; margin: 0px auto;\"  id=\"_ytid_65186\"  width=\"900\" height=\"506\"  data-origwidth=\"900\" data-origheight=\"506\" src=\"https:\/\/www.youtube.com\/embed\/-U3yGBBF9qw?enablejsapi=1&#038;autoplay=1&#038;cc_load_policy=0&#038;cc_lang_pref=&#038;iv_load_policy=1&#038;loop=1&#038;playlist=-U3yGBBF9qw&#038;rel=1&#038;fs=1&#038;playsinline=0&#038;autohide=2&#038;theme=dark&#038;color=red&#038;controls=1&#038;disablekb=0&#038;\" class=\"__youtube_prefs__  epyt-is-override  no-lazyload\" title=\"YouTube player\"  allow=\"fullscreen; accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen data-no-lazy=\"1\" data-skipgform_ajax_framebjll=\"\"><\/iframe>\n<\/div><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>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:https:\/\/adoptium.net\/jmc\/ Zulu Mission Control:https:\/\/www.azul.com\/products\/components\/azul-mission-control\/ \u00a0 Mission Control 8.3 &#8211; New and Noteworthy General JMC 8.3 &#8211; New Release!This is a new minor release of JDK [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[23,18,26,15,25],"class_list":["post-1417","post","type-post","status-publish","format-standard","hentry","category-java-mission-control-fair-dj","tag-jdk-flight-recorder","tag-jdk-mission-control","tag-jdk-mission-control-8","tag-jmc","tag-jmc-8"],"_links":{"self":[{"href":"https:\/\/hirt.se\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1417","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hirt.se\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hirt.se\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hirt.se\/blog\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/hirt.se\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1417"}],"version-history":[{"count":2,"href":"https:\/\/hirt.se\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1417\/revisions"}],"predecessor-version":[{"id":1422,"href":"https:\/\/hirt.se\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1417\/revisions\/1422"}],"wp:attachment":[{"href":"https:\/\/hirt.se\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1417"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hirt.se\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1417"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hirt.se\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1417"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}