If the jfr file is created by JDK 8 or JDK 11, and use jfr view to show the active-settings view, the result is invalid, missing many settings.
jfr view active-settings j11.jfr
Active Settings
Event Type Enabled Threshold Stack Trace Period Cutoff Throttle
------------- ---------- ------------ -------------- --------- --------- -----------
File Force true 20 ms true
---------------------------------------------------------
jfr summary j11.jfr
...
Event Type Count Size (bytes)
=============================================================
...
jdk.ActiveSetting 292 9528
...
The reason is the endTime of jdk.ActiveSetting on JDK 8 or JDK 11 increases naturally, the time between two consecutive events is approximately a few microseconds, but the query statement of active-settings view used LAST_BATCH(), It assumes that the end time of events are the same. For JDK 17 and above, this assumption is correct, but not for JDK 8 and JDK 11.
jfr view active-settings j11.jfr
Active Settings
Event Type Enabled Threshold Stack Trace Period Cutoff Throttle
------------- ---------- ------------ -------------- --------- --------- -----------
File Force true 20 ms true
---------------------------------------------------------
jfr summary j11.jfr
...
Event Type Count Size (bytes)
=============================================================
...
jdk.ActiveSetting 292 9528
...
The reason is the endTime of jdk.ActiveSetting on JDK 8 or JDK 11 increases naturally, the time between two consecutive events is approximately a few microseconds, but the query statement of active-settings view used LAST_BATCH(), It assumes that the end time of events are the same. For JDK 17 and above, this assumption is correct, but not for JDK 8 and JDK 11.
- links to
-
Review openjdk/jdk/18137