Azul Mission Control 8.1.0
What’s new
Zulu Mission Control was rebranded to Azul Mission Control. The names of the distribution packages, executable commands, and configuration files did not change for compatibility.
Core
-
New Serializers Core Bundle
There is now a new core bundle making it easy to serialize flight recording data to DOT (Graphviz) and Json. This bundle will be expanded upon in future versions.
-
Improved JFR parser performance
The performance of the JFR parser has been improved. More improvements are coming in 8.2.
Java Flight Recorder (JFR)
-
Support for the new JDK 16 Allocation Events
A new form of light weight allocation profiling was introduced with JDK 16 (see https://bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8257602). This version of JMC supports this new type of allocation profiling.
-
New Page for Peeking into the Constant Pools
There is a new page available for taking a look at what constants are available in the recording. This can, for example, be useful when creating custom events to see where all that storage and memory is being used.
-
Open Recordings with .lz4 extension
For convenience, files with the
.lz4
extension are now attempted to be opened as flight recordings. This is since lz4 is a common compression to use with flight recordings. -
For flight recordings taken in Azul Platform Prime JVM, added an option to include events from VM’s internal threads (such as GC or compiler threads).
Resolved issues
Issue ID | Description |
---|---|
Outline not shown sometimes |
|
JMC 7.1.2 on macOS Big Sur fails to start with NPE |
|
Can’t change writeable MBean attribute |
|
Bring back summary screen for Statistics on Object Allocation inside TLAB |
|
Time range indicator isn’t updated when setting the time range |
|
Adjust main pom.xml to more align for 3th party builds |
|
JdkAttributes.OS_SWITCH_RATE does not work consistently across JFRs from different JDK versions. |
|
Add pre-configured test launchers to run individual tests from within the Eclipse IDE |
|
Update external library versions |
|
Validate and FileReadRule.sanitizeFileName |
|
BCI Agent - Allow for custom capturing |
|
Create icon for the agent (and agent plug-in) |
|
Constant Pool optimizations |
|
Incorrect sort order in method profiling page |
|
Add Percentage column based on Duration in stack trace view |
|
Bring back summary screen for Statistics on Object Allocation outside TLAB. |
|
ClassCastException when opening heap dump |
|
Unable to open graph-view if JMC is booted with JDK 8 |
|
Update to the 2021-03 platform |
|
Add workflow badge to the readme |
|
Build a constant pool explorer page |
|
No local JVMs found message could be more helpful |
|
Support the new JDK 16 allocation profiling event |
|
Stop using the chromium library based browser component |
|
Add support for hidden classes |
|
defineEventProbes should throw exception on malformed probe definitions |
|
The release notes tool should be using JDK 8 |
|
JMC with Eclipse 2020-06 fails to launch in simplified Chinese language |
|
Show concurrent option showing lesser number of records. |
|
Timestamp granularity too coarse |
|
Update version to 8.1.0 in master |
|
Unhandled exception while working with Thread Graphs |
|
Charts in custom pages are not auto refreshed |
|
JfrThreadsPageTest (UI-test) fails (part 2) |
|
Event list is not updated and Stack trace stale upon Set as Focused Selection |
|
Parser should track statistics during parsing |
|
Uitests failing on Windows |
|
Restrict local management agent for own process |
|
[JFR Writer] Improve lazy evaluation of the type defining block |
|
Upgrade Jacoco to 0.8.6 |
|
Prepare new and noteworthy for JMC 8.0.0 |
|
GC confguration with GC Flags |
|
Some writer cleanup |
|
Use the public XLST classes for the release notes |
|
Allow JMC to open compressed recordings with the extension .lz4 |
|
Enhance agent pom.xml for future library deployment |
|
Adding project specific settings to ignore forbidden references |
|
Use .jcheck/conf property to control version |
|
README.md should mention that the build script works for Mac OS |
|
[WLS] Rule result formatting update w.r.t Rule 2.0 |
|
Adding new JDK Events to core API |
|
Add rule for when the JVM version is < OpenJDK 8u302 |
|
"Change artifact id from ""org.openjdk.jmc.agent"" to ""agent""" |
|
Retain treeview stack trace while switching between JFRs |
|
Context Switch event handling breaks if JMC has old and new types parsed simultaneously |
|
Create a new serializers bundle |
|
JdkAttributes.OS_SWITCH_RATE does not work consistently across JFRs from different JDK versions. |
|
Update to the early access 8.1 splash in master |
|
Exception while opening Method Profile page. |
|
Flight Recorder launcher tab bugs out |
|
Retain treeview stack trace while switching between JFRs |
|
Show icons for modifiers in the method profiling page |
|
JMC logs warnings when creating recordings |
|
Accessibility Issue - Too low contrast on rule result values |
|
Improve the performance of the JFR parser |
|
Method profiling page should show the frame type |
|
Add Percentage Column w.r.t 'Profiling Samples' in Thread table |
|
JMC 8.0.1 fix formatting failure |
|
AutoBoxing rule can crash due to null dereference |
|
[JFR Writer] Improve single-value types handling |
|
JMC Help Documentation requires corrections |
|
[JFR Writer] Allow providing extra recording settings |
|
[JFR Writer] Complete the annotation handling code |
|
Update the build script help to include the installCore option |
|
JMC preference options are duplicated |
|
JFR Parser struct types hashcode is not stable |
|
AutoBoxing rule can crash due to null dereference |
|
Update THIRDPARTYREADME.TXT and its license attribute |
|
Rename Agent Plug-in in the JVM Browser |
|
Reference wrong in agent plug-in.xml |
|
JMC fails to build because it can’t download babel dependency |
|
Publish core libraries to Maven Central |
|
Correct URL for Oracle’s JMC production binaries |
|
Provider Name missing for Agent Plugin |
|
Rules evaluation never complete |
|
Update Release Notes for 8.1.0 |
|
JMC fails to parse JFR with events from WebLogic Server |
|
CoreLibs: Review TPL info in all archives |
|
Double-Checked Locking in Agent Plugin code |
|
Agent Plugin Object Contributions to Methods |
|
Update the 8.1 splash to release splash |
|
Update eclipse version and Min JDK required in Update Site landing pages |
|
Unhandled exception in rule evaluation |
|
Stop using System.out/err.println and e.printStackTrace |
|
Reintroduce GC summary screen |
|
Agent Plugin |
Known issues
-
JMC-4270: 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 withRuntimeMXBean#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. -
JMC-7071: JMC can’t attach to jlinked JVMs
This one is still under investigation, but it seems JMC can’t attach to certain jlinked images.
-
JMC-7068: JfrRecordingTest (uitest) hangs on the automated analysis page
Trying to run uitests on Fedora hangs on JfrRecordingTest.
-
JMC-7003: The graph and flame graph view does not work on Windows
This is due to a bug with the Edge based browser component in SWT.
-
JMC-6265: JMC crashes with Webkit2+GTK 4
See the issue for more information.
-
JMC-5412: Dragging and dropping a JFR file into an open analysis page does not work
The expected behaviour would be to open the recording whenever a file is dropped in the editor area, but the behaviour is defined by the embedded browser component, and not very useful.