OpenJDK Mission Control
JDK Flight Recorder (JFR) is an agent in the HotSpot and IBM Semeru Runtimes JVMs that provides a low-overhead, production-ready sampling profiler and monitoring tool. JFR is very similar to the IBM Java Health Center agent.
JDK Mission Control (JMC) is a project by OpenJDK that provides a GUI client to review JFR collections. Various downloads of the JMC client are available including from Eclipse Adoptium. Review the JMC User Guide.
IBM Semeru Runtimes Support
IBM Semeru Runtimes supports JFR starting with:
- Technical preview on all supported platforms since OpenJ9
0.51:
- 11.0.27, 17.0.15, and 21.0.7
- Only
jcmd
enablement at runtime for headless collection (JFR.start/stop/dump)
- Technical preview on Linux x64 and AArch64 since OpenJ9
0.49:
- 11.0.26, 17.0.14, and 21.0.6
- Only
jcmd
enablement at runtime for headless collection (JFR.start/stop/dump)
Start JFR on IBM Semeru Runtimes
jcmd $PID JFR.start filename=/tmp/defaultJ9recording.jfr duration=30m
Stop JFR on IBM Semeru Runtimes
jcmd $PID JFR.stop
HotSpot
Recording data with the agent on HotSpot
There are various HotSpot JVM options to produce JFR recordings. Summaries:
Mission Control Usage
Time Zones
The data stored in JFR files are in UTC time. The time zone displayed in JMC are in local time. If the local time where the JFR files were produced does not match the local time of the JMC client machine, then you may set the time zone when launching JMC using the time zone name; for example:
-vmargs
-Duser.timezone=America/New_York