JDK Mission Control/Flight Recorder 8.1.0 release
The 4th August 2021 was an important date a new release of favorite profiling tool was released. It means JDK Mission Control has reached it general availability in the version 8.1.0. To download the binnaries it’s possible to use on of the vendors, for example Adoptjdk/JMC
Note: if you are an mac user don’t forget to unzip the file by using the following command:
$ cat org.openjdk.jmc-8.1.0-macosx.cocoa.x86_64.tar.gz |tar xv -
This article reviews which of the main features/enhancements are coming with the release 8.1.0:
1. JMC Agen Plug-In
This is very neat and useful feature especially for already running processes on JVM. The new agent plug-in allows you to configure event in the descriptive way(XML). You can attach them into already running process. The events are emitted from the specified destination:
<event id="vehicle_factory.prepareParts"> <label>Vehicle Factory Prepare Parts</label> <description>Vehicle Factory tries to prepare parts</description> <class>com.wengnerits.jfr.agent.demo.VehicleFactory</class> <path>demo/vehicle_factory</path> <stacktrace>true</stacktrace> <method> <name>prepareParts</name> <descriptor>(Ljava/lang/String;)V</descriptor> <parameters> <parameter index="0"> <name>Preparing Parts</name> <description>factory tries to prepare parts</description> </parameter> </parameters> </method> <location>WRAP</location> <fields> <field> <name>Factory</name> <description>Factory prepare parts</description> <expression>this.name</expression> </field> </fields> </event>
2. Contant Pools Page
Another useful enhancement that help to closer understand to the application behaviour, more specific where the memory or storage has been allocated. The page contain over about constants acquired during the recording.
3. New Allocation Events in JDK 16
In JDK 16 has been introduced a new form of allocation profiling events. The JMC release 8.1.0 is coming with support for them
4. JFR parser performance improvement
More and more events stored inside the recording have to be analyzed. it’s a logical consequence a bit higher pressure on the performance and effectivity of the parsers. Current release is coming with improvements
5. Core Bundle Serializer
In order to understand application behaviour it is required to have data in proper format to enforce a visualization possibilities. Current release provides a JSON and DOT(Graphviz) format. Bothe Serializer reside inside a new core bundle.
6. JMC Application requires JDK 11+ to run!
still there is support for OpenJDK 8u272+ and OracleJDK 7u40+…
8. Eclipse 2021-03 and latter support
9. Many bug-fixes and improvements
Have a lot Fun with Attaching Agents!
Happy JFRing !
openjdk: JMC 8
foojay.io: JDK Mission Control 8.1.0 Released!
hirt.se: JDK Mission Control 8.1.0 Released