Skip to content
Permalink
Browse files
7139: Prepare new and noteworthy for JMC 8.0.0
Reviewed-by: ghb
  • Loading branch information
thegreystone committed Mar 12, 2021
1 parent 0c7ae2a commit c1937f148e991163bab3a646d5a84fff2de6390a
Showing with 391 additions and 0 deletions.
  1. +1 −0 configuration/ide/eclipse/dictionary/dictionary.txt
  2. +2 −0 releng/tools/README.md
  3. +6 −0 releng/tools/org.openjdk.jmc.util.releasenotes/.classpath
  4. +17 −0 releng/tools/org.openjdk.jmc.util.releasenotes/.project
  5. +16 −0 releng/tools/org.openjdk.jmc.util.releasenotes/launchers/Generate-ReleaseNotes.launch
  6. BIN releng/tools/org.openjdk.jmc.util.releasenotes/notes/8.0/images/agent/agent.png
  7. BIN releng/tools/org.openjdk.jmc.util.releasenotes/notes/8.0/images/agent/converter.png
  8. BIN releng/tools/org.openjdk.jmc.util.releasenotes/notes/8.0/images/console/pde.png
  9. BIN releng/tools/org.openjdk.jmc.util.releasenotes/notes/8.0/images/general/eclipse.png
  10. BIN releng/tools/org.openjdk.jmc.util.releasenotes/notes/8.0/images/general/issues.png
  11. BIN releng/tools/org.openjdk.jmc.util.releasenotes/notes/8.0/images/general/jmc.png
  12. BIN releng/tools/org.openjdk.jmc.util.releasenotes/notes/8.0/images/general/joverflow.png
  13. BIN releng/tools/org.openjdk.jmc.util.releasenotes/notes/8.0/images/jfr/flameview.gif
  14. BIN releng/tools/org.openjdk.jmc.util.releasenotes/notes/8.0/images/jfr/graphview.gif
  15. BIN releng/tools/org.openjdk.jmc.util.releasenotes/notes/8.0/images/jfr/predsuc.png
  16. BIN releng/tools/org.openjdk.jmc.util.releasenotes/notes/8.0/images/special/noimage.png
  17. +195 −0 releng/tools/org.openjdk.jmc.util.releasenotes/notes/8.0/notes.xml
  18. BIN releng/tools/org.openjdk.jmc.util.releasenotes/notes/8.0/smallimages/agent/agent.png
  19. BIN releng/tools/org.openjdk.jmc.util.releasenotes/notes/8.0/smallimages/agent/converter.png
  20. BIN releng/tools/org.openjdk.jmc.util.releasenotes/notes/8.0/smallimages/console/pde.png
  21. BIN releng/tools/org.openjdk.jmc.util.releasenotes/notes/8.0/smallimages/general/eclipse.png
  22. BIN releng/tools/org.openjdk.jmc.util.releasenotes/notes/8.0/smallimages/general/issues.png
  23. BIN releng/tools/org.openjdk.jmc.util.releasenotes/notes/8.0/smallimages/general/jmc.png
  24. BIN releng/tools/org.openjdk.jmc.util.releasenotes/notes/8.0/smallimages/general/joverflow.png
  25. BIN releng/tools/org.openjdk.jmc.util.releasenotes/notes/8.0/smallimages/jfr/flameview.gif
  26. BIN releng/tools/org.openjdk.jmc.util.releasenotes/notes/8.0/smallimages/jfr/graphview.gif
  27. BIN releng/tools/org.openjdk.jmc.util.releasenotes/notes/8.0/smallimages/jfr/predsuc.png
  28. BIN releng/tools/org.openjdk.jmc.util.releasenotes/notes/8.0/smallimages/special/noimage.png
  29. +108 −0 releng/tools/org.openjdk.jmc.util.releasenotes/notes/8.0/stylesheet.xsl
  30. +46 −0 releng/tools/org.openjdk.jmc.util.releasenotes/src/org/openjdk/jmc/utils/releasenotes/Transform.java
@@ -71,3 +71,4 @@ wildcards
zip
zipped
datadog
xml
@@ -0,0 +1,2 @@
#Releng Tools
This is the location to put release engineering related tools.
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="output" path="bin"/>
</classpath>
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>org.openjdk.jmc.util.releasenotes</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
<listEntry value="/org.openjdk.jmc.util.releasenotes/src/org/openjdk/jmc/utils/releasenotes/Transform.java"/>
</listAttribute>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
<listEntry value="1"/>
</listAttribute>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_EXCLUDE_TEST_CODE" value="true"/>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.openjdk.jmc.utils.releasenotes.Transform"/>
<stringAttribute key="org.eclipse.jdt.launching.MODULE_NAME" value="org.openjdk.jmc.util.releasenotes"/>
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-IN notes.xml -XSL stylesheet.xsl -OUT new_and_noteworthy.html"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.openjdk.jmc.util.releasenotes"/>
<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${workspace_loc:org.openjdk.jmc.util.releasenotes/notes/8.0}"/>
</launchConfiguration>
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,195 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="stylesheet.xsl"?>
<notes>
<component>
<!-- ******************************* GENERAL ****************************************** -->
<name>General</name>
<note version="8.0">
<title>JMC 8.0 - Major New Release!</title>
<description>
This is a major new release of Java Mission Control. All binary build of the JMC application using the
Eclipse 2020-09 platform will now require JDK 11+ to run, but can be used with OpenJDK 8u272+ and Oracle JDK 7u40+.
It can also open and visualize flight recordings from JDK 7 and 8.
</description>
<image>general/jmc.png</image>
</note>
<note version="8.0">
<title>Eclipse 4.16 support</title>
<description>
The Mission Control client is now built to run optimally on Eclipse 2020-06 and later. To install Java 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.
</description>
<image>general/eclipse.png</image>
</note>
<note version="8.0">
<title>JOverflow in the Base Distribution</title>
<description>
JOverflow is now part of the base distribution of Mission Control, and has been converted to SWT. It also has a brand
new TreeMap visualization of the heap occupied by type. To open the new view, go to Window | Show view |
Other... and start typing JOverflow, and select JOverflow TreeMap.
</description>
<image>general/joverflow.png</image>
</note>
<note version="8.0">
<title>Minor bugfixes and improvements</title>
<description>
There are over two hundred fixes and improvements in this release. Check out the JMC 8 Result Dashboard
(https://bugs.openjdk.java.net/secure/Dashboard.jspa?selectPageId=19536") for more information.
</description>
<image>general/issues.png</image>
</note>
</component>

<!-- ******************************* JFR ******************************* -->
<component>
<name>Java Flight Recorder (JFR)</name>
<note version="8.0">
<title>Flame Graph View Improvements</title>
<description>
The Flame Graph View is now available in the standard perspective. It can now be configured to be
rendered either as an icicle graph or a flame graph, and the tool tips have been improved. Click on anything
representing a selection of events to get the aggregate of stack traces represented by that selection rendered in
the Flame Graph View.
</description>
<image>jfr/flameview.gif</image>
</note>
<note version="8.0">
<title>New Graph View</title>
<description>
An early access version of a Graph View is now available. The Graph View will show a directed graph
where the individual methods are nodes in the graphs, and the edges will represent calls from one method to another.
The size of the node will represent the "self" contribution, and the thickness of an edge will correlate with the
number of calls from one method to another in the events. To open up the graph view, go to Window | Show view |
Other..., then select Mission Control / Graph View. Once the Graph View has opened, it can be docked where you want
it to be, or dragged out into a new top level window which can be handled by your window manager. Currently there is
no graph pruning, and large graph will take a very long time to layout and render, during which the UI will freeze.
Therefore we've imposed a user configurable limit on the number of nodes a graph can have for now.
</description>
<image>jfr/graphview.gif</image>
</note>
<note version="8.0">
<title>Predecessors and Successors</title>
<description>
The predecessors and successors tabs have been brought back to the Method Profiling page. This means
that it is now easy to select a method and easily see wherever that method was called from, and to see what was then
called from that method. This is a temporary solution until we have a separate Butterfly/Sandwich view where any
selection of a method in a set of events can be rendered in a separately configured view.
</description>
<image>jfr/predsuc.png</image>
</note>
</component>
<component>
<!-- ******************************* Agent ******************************* -->
<name>JMC Agent</name>
<note version="1.0.0">
<title>Agent 1.0.0</title>
<description>
This is the first version where we build and release the JMC agent. The JMC agent is a byte code
instrumentation agent, providing an easy way to declaratively generate JFR events from most methods, even methods
for which the source code is not available. Either configure the agent with an XML configuration file, or use the
MBean to dynamically change the instrumentation whilst the application is running.
</description>
<image>agent/agent.png</image>
</note>
<note version="1.0.0">
<title>Converter Functions</title>
<description>
Now any public static method can be used to convert objects of a specific type to one of the types
supported by flight recorder. The converter to use must be explicitly declared per recorded data.
</description>
<image>agent/converter.png</image>
</note>
</component>
<!-- ******************************* Bugfixes ****************************************** -->
<bugfixes>
<bugfix>
<area>JFR</area>
<bugid>5734</bugid>
<synopsis>Overflow in stacktrace tooltips fixed</synopsis>
<description>On Mac, the tooltips shown for the stacktraces could overflow. This is now fixed.</description>
</bugfix>
</bugfixes>
<!-- ******************************* Known issues ****************************************** -->
<knownissues>
<issue>
<area>General</area>
<bugid>4270</bugid>
<synopsis>Hibernation and time</synopsis>
<description>
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.
</description>
</issue>
<issue>
<area>General</area>
<bugid>4270</bugid>
<synopsis>Hibernation and time</synopsis>
<description>
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.
</description>
</issue>
<issue>
<area>JFR</area>
<bugid>7122</bugid>
<synopsis>Rules evaluation never complete</synopsis>
<description>Sometimes the rules evaluation may never complete for the GC rules.</description>
</issue>
<issue>
<area>JFR</area>
<bugid>7071</bugid>
<synopsis>JMC can't attach to jlinked JVMs</synopsis>
<description>This one is still under investigation, but it seems JMC can't attach to certain jlinked images.
</description>
</issue>
<issue>
<area>JFR</area>
<bugid>7068</bugid>
<synopsis>JfrRecordingTest (uitest) hangs on the automated analysis page</synopsis>
<description>Trying to run uitests on Fedora hangs on JfrRecordingTest.</description>
</issue>
<issue>
<area>JFR</area>
<bugid>7007</bugid>
<synopsis>Unable to edit run configurations for eclipse project after installing JMC plugin</synopsis>
<description>Avoid installing the experimental JMC launcher plug-in into Eclipse until this problem has been
resolved.
</description>
</issue>
<issue>
<area>JFR</area>
<bugid>7003</bugid>
<synopsis>The graph view does not work on Windows</synopsis>
<description>This is due to a bug in the chromium browser plug-in used by JMC on Windows. See the issue for more
information.
</description>
</issue>
<issue>
<area>JFR</area>
<bugid>6265</bugid>
<synopsis>JMC crashes with Webkit2+GTK 4</synopsis>
<description>See the issue for more information.</description>
</issue>
<issue>
<area>JFR</area>
<bugid>6265</bugid>
<synopsis>JMC crashes with Webkit2+GTK 4</synopsis>
<description>See the issue for more information.</description>
</issue>
<issue>
<area>JFR</area>
<bugid>5412</bugid>
<synopsis>Dragging and dropping a JFR file into an open analysis page does not work</synopsis>
<description>The expected behaviour would be to open the recording whenever a file is dropped in the editor area, but
the behaviour will be defined by the embedded browser component, and not very useful.
</description>
</issue>
</knownissues>
</notes>
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,108 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<head>
<meta http-equiv="Content-Language" content="en-us" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Mission Control 8.0 - New and Noteworthy</title>
</head>
<style type="text/css">
p, table, td, th { font-family: verdana, arial, helvetica, geneva; font-size: 10pt}
h2 { font-family: verdana, arial, helvetica, geneva; font-size: 16pt; font-weight: bold ; line-height: 14px}
h3 { font-family: verdana, arial, helvetica, geneva; font-size: 12pt; font-weight: bold}
h1 { font-family: verdana, arial, helvetica, geneva; font-size: 18pt; font-weight: bold}
body { font-family: verdana, arial, helvetica, geneva; font-size: 9pt; margin-top: 5mm; margin-left: 3mm}
</style>
<body>
<h2>Mission Control 8.0 - New and Noteworthy</h2>
<table border="0" cellpadding="10" cellspacing="0" width="80%">
<tr>
<td colspan="2">
<hr />
</td>
</tr>
<xsl:for-each select="notes/component">
<tr>
<td colspan="2">
<h2>
<xsl:value-of select="name" />
</h2>
<hr />
</td>
</tr>
<xsl:for-each select="note">
<tr>
<td width="30%" valign="top" align="left">
<b>
<xsl:value-of select="title" />
</b>
</td>
<td width="70%" valign="top">
<xsl:value-of select="description" />
<p>
<a>
<xsl:attribute name="href">images/<xsl:value-of select="image" /></xsl:attribute>
<img>
<xsl:attribute name="src">smallimages/<xsl:value-of select="image" /></xsl:attribute>
<xsl:attribute name="alt"><xsl:value-of select="title" /></xsl:attribute>
</img>
</a>
</p>
</td>
</tr>
<tr>
<td colspan="2">
<hr />
</td>
</tr>
</xsl:for-each>
</xsl:for-each>
<tr>
<td colspan="2">
<h2>Bug Fixes</h2>
<hr />
</td>
</tr>
<xsl:for-each select="notes/bugfixes/bugfix">
<tr>
<td colspan="2">
<p>
<b>Area: </b><xsl:value-of select="area" /><br />
<b>Issue: </b><a href="https://bugs.openjdk.java.net/browse/JMC-{bugid}"><xsl:value-of select="bugid" /></a><br />
<b>Synopsis: </b><xsl:value-of select="synopsis" />
</p>
<p>
<xsl:value-of select="description" />
</p>
</td>
</tr>
</xsl:for-each>
<tr>
<td colspan="2">
<br />
<hr />
<h2>Known Issues</h2>
<hr />
</td>
</tr>
<xsl:for-each select="notes/knownissues/issue">
<tr>
<td colspan="2">
<p>
<b>Area: </b><xsl:value-of select="area" /><br />
<b>Issue: </b><a href="https://bugs.openjdk.java.net/browse/JMC-{bugid}"><xsl:value-of select="bugid" /></a><br />
<b>Synopsis: </b>
<xsl:value-of select="synopsis" />
</p>
<p>
<xsl:value-of select="description" />
</p>
</td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>

0 comments on commit c1937f1

Please sign in to comment.