1 <?xml version="1.0" encoding="utf-8"?>
   2 <!--
   3  Copyright (c) 2012, 2019, Oracle and/or its affiliates. All rights reserved.
   4  DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   5 
   6  This code is free software; you can redistribute it and/or modify it
   7  under the terms of the GNU General Public License version 2 only, as
   8  published by the Free Software Foundation.
   9 
  10  This code is distributed in the hope that it will be useful, but WITHOUT
  11  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  12  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  13  version 2 for more details (a copy is included in the LICENSE file that
  14  accompanied this code).
  15 
  16  You should have received a copy of the GNU General Public License version
  17  2 along with this work; if not, write to the Free Software Foundation,
  18  Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  19 
  20  Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  21  or visit www.oracle.com if you need additional information or have any
  22  questions.
  23 
  24 -->
  25 
  26 
  27 <!DOCTYPE events SYSTEM "trace.dtd">
  28 
  29 <events>
  30 
  31 <!--
  32 
  33 Events in the JVM are by default timed (it's more common)
  34 Perhaps a little strange. Might change.
  35 
  36 EVENTS
  37 
  38 Declard with the 'event' tag.
  39 
  40 <value fields> can be one or more of
  41    value            - a simple primitive or constant type value
  42    structvalue      - value is a sub-struct. This type must be previously defined
  43                       with 'struct'
  44 All these require you to declare type, field and label of the field. They also accept
  45 an optional description of the field. If the meaning of the field is not obvious
  46 from the label you should provide a description. If an event however is not actually
  47 meant for end-users, you should probably _not_ write descriptions at all, since you
  48 might just add more concepts the user has no notion of/interest in.
  49 
  50 Events should be modeled after what conceptual process you are expressing, _NOT_
  51 from whatever data structures you might use inside the JVM for expressing a process.
  52 
  53 
  54 STRUCT
  55 
  56 Declared with the 'struct' tag.
  57 
  58 Declares a structure type that can be used in other events.
  59 
  60 -->
  61 
  62   <event id="ThreadStart" path="java/thread_start" label="Java Thread Start"
  63          has_thread="true" is_instant="true">
  64     <value type="THREAD" field="thread" label="Java Thread"/>
  65   </event>
  66 
  67   <event id="ThreadEnd" path="java/thread_end" label="Java Thread End"
  68          has_thread="true" is_instant="true">
  69     <value type="THREAD" field="thread" label="Java Thread"/>
  70   </event>
  71 
  72   <event id="ThreadSleep" path="java/thread_sleep" label="Java Thread Sleep"
  73           has_thread="true" has_stacktrace="true" is_instant="false">
  74     <value type="MILLIS" field="time" label="Sleep Time"/>
  75   </event>
  76 
  77   <event id="ThreadPark" path="java/thread_park" label="Java Thread Park"
  78           has_thread="true" has_stacktrace="true" is_instant="false">
  79     <value type="CLASS" field="parkedClass" label="Class Parked On"/>
  80     <value type="MILLIS" field="timeout" label="Park Timeout"/>
  81     <value type="ADDRESS" field="address" label="Address of Object Parked" relation="JavaMonitorAddress"/>
  82   </event>
  83 
  84   <event id="JavaMonitorEnter" path="java/monitor_enter" label="Java Monitor Blocked"
  85           has_thread="true" has_stacktrace="true" is_instant="false">
  86     <value type="CLASS" field="monitorClass" label="Monitor Class"/>
  87     <value type="THREAD" field="previousOwner" label="Previous Monitor Owner"/>
  88     <value type="ADDRESS" field="address" label="Monitor Address" relation="JavaMonitorAddress"/>
  89   </event>
  90 
  91   <event id="JavaMonitorWait" path="java/monitor_wait" label="Java Monitor Wait" description="Waiting on a Java monitor"
  92           has_thread="true" has_stacktrace="true" is_instant="false">
  93     <value type="CLASS" field="monitorClass" label="Monitor Class" description="Class of object waited on"/>
  94     <value type="THREAD" field="notifier" label="Notifier Thread" description="Notifying Thread"/>
  95     <value type="MILLIS" field="timeout" label="Timeout" description="Maximum wait time"/>
  96     <value type="BOOLEAN" field="timedOut" label="Timed Out" description="Wait has been timed out"/>
  97     <value type="ADDRESS" field="address" label="Monitor Address" description="Address of object waited on" relation="JavaMonitorAddress"/>
  98   </event>
  99 
 100   <event id="JavaMonitorInflate" path="java/monitor_inflate" label="Java Monitor Inflated"
 101          has_thread="true" has_stacktrace="true" is_instant="false">
 102     <value type="CLASS" field="monitorClass" label="Monitor Class"/>
 103     <value type="ADDRESS" field="address" label="Monitor Address" relation="JavaMonitorAddress"/>
 104     <value type="INFLATECAUSE" field="cause" label="Monitor Inflation Cause" description="Cause of inflation"/>
 105   </event>
 106 
 107   <event id="BiasedLockRevocation" path="java/biased_lock_revocation" label="Biased Lock Revocation"
 108          description="Revoked bias of object" has_thread="true" has_stacktrace="true" is_instant="false">
 109     <value type="CLASS" field="lockClass" label="Lock Class" description="Class of object whose biased lock was revoked"/>
 110     <value type="INTEGER" field="safepointId" label="Safepoint Identifier" relation="SafepointId"/>
 111     <value type="THREAD" field="previousOwner" label="Previous Owner" description="Thread owning the bias before revocation"/>
 112   </event>
 113 
 114   <event id="BiasedLockSelfRevocation" path="java/biased_lock_self_revocation" label="Biased Lock Self Revocation"
 115          description="Revoked bias of object biased towards own thread" has_thread="true" has_stacktrace="true" is_instant="false">
 116     <value type="CLASS" field="lockClass" label="Lock Class" description="Class of object whose biased lock was revoked"/>
 117   </event>
 118 
 119   <event id="BiasedLockClassRevocation" path="java/biased_lock_class_revocation" label="Biased Lock Class Revocation"
 120          description="Revoked biases for all instances of a class" has_thread="true" has_stacktrace="true" is_instant="false">
 121     <value type="CLASS" field="revokedClass" label="Revoked Class" description="Class whose biased locks were revoked"/>
 122     <value type="BOOLEAN" field="disableBiasing" label="Disable Further Biasing" description="Whether further biasing for instances of this class will be allowed"/>
 123     <value type="INTEGER" field="safepointId" label="Safepoint Identifier" relation="SafepointId"/>
 124   </event>
 125 
 126   <event id="ReservedStackActivation" path="vm/runtime/reserved_stack_activation" label="Reserved Stack Activation"
 127          description="Activation of Reserved Stack Area caused by stack overflow with ReservedStackAccess annotated method in call stack"
 128          has_thread="true" has_stacktrace="true" is_instant="true">
 129       <value type="METHOD" field="method" label="Java Method"/>
 130   </event>
 131 
 132   <event id="ClassLoad" path="vm/class/load" label="Class Load"
 133          has_thread="true" has_stacktrace="true" is_instant="false">
 134     <value type="CLASS" field="loadedClass" label="Loaded Class"/>
 135     <value type="CLASSLOADER" field="definingClassLoader" label="Defining Class Loader"/>
 136     <value type="CLASSLOADER" field="initiatingClassLoader" label="Initiating Class Loader"/>
 137   </event>
 138 
 139   <event id="ClassDefine" path="vm/class/define" label="Class Define"
 140          has_thread="true" has_stacktrace="true" is_instant="true">
 141     <value type="CLASS" field="definedClass" label="Defined Class"/>
 142     <value type="CLASSLOADER" field="definingClassLoader" label="Defining Class Loader"/>
 143   </event>
 144 
 145   <event id="ClassUnload" path="vm/class/unload" label="Class Unload"
 146          has_thread="true" is_instant="true">
 147     <value type="CLASS" field="unloadedClass" label="Unloaded Class"/>
 148     <value type="CLASSLOADER" field="definingClassLoader" label="Defining Class Loader"/>
 149   </event>
 150 
 151   <event id="IntFlagChanged" path="vm/flag/int_changed" label="Int Flag Changed"
 152          is_instant="true">
 153     <value type="STRING" field="name" label="Name" />
 154     <value type="INTEGER" field="oldValue" label="Old Value" />
 155     <value type="INTEGER" field="newValue" label="New Value" />
 156     <value type="FLAGVALUEORIGIN" field="origin" label="Origin" />
 157   </event>
 158 
 159   <event id="UnsignedIntFlagChanged" path="vm/flag/uint_changed" label="Unsigned Int Flag Changed"
 160          is_instant="true">
 161     <value type="STRING" field="name" label="Name" />
 162     <value type="UINT" field="oldValue" label="Old Value" />
 163     <value type="UINT" field="newValue" label="New Value" />
 164     <value type="FLAGVALUEORIGIN" field="origin" label="Origin" />
 165   </event>
 166 
 167   <event id="LongFlagChanged" path="vm/flag/long_changed" label="Long Flag Changed"
 168          is_instant="true">
 169     <value type="STRING" field="name" label="Name" />
 170     <value type="LONG" field="oldValue" label="Old Value" />
 171     <value type="LONG" field="newValue" label="New Value" />
 172     <value type="FLAGVALUEORIGIN" field="origin" label="Origin" />
 173   </event>
 174 
 175   <event id="UnsignedLongFlagChanged" path="vm/flag/ulong_changed" label="Unsigned Long Flag Changed"
 176          is_instant="true">
 177     <value type="STRING" field="name" label="Name" />
 178     <value type="ULONG" field="oldValue" label="Old Value" />
 179     <value type="ULONG" field="newValue" label="New Value" />
 180     <value type="FLAGVALUEORIGIN" field="origin" label="Origin" />
 181   </event>
 182 
 183   <event id="DoubleFlagChanged" path="vm/flag/double_changed" label="Double Flag Changed"
 184          is_instant="true">
 185     <value type="STRING" field="name" label="Name" />
 186     <value type="DOUBLE" field="oldValue" label="Old Value" />
 187     <value type="DOUBLE" field="newValue" label="New Value" />
 188     <value type="FLAGVALUEORIGIN" field="origin" label="Origin" />
 189   </event>
 190 
 191   <event id="BooleanFlagChanged" path="vm/flag/boolean_changed" label="Boolean Flag Changed"
 192          is_instant="true">
 193     <value type="STRING" field="name" label="Name" />
 194     <value type="BOOLEAN" field="oldValue" label="Old Value" />
 195     <value type="BOOLEAN" field="newValue" label="New Value" />
 196     <value type="FLAGVALUEORIGIN" field="origin" label="Origin" />
 197   </event>
 198 
 199   <event id="StringFlagChanged" path="vm/flag/string_changed" label="String Flag Changed"
 200          is_instant="true">
 201     <value type="STRING" field="name" label="Name" />
 202     <value type="STRING" field="oldValue" label="Old Value" />
 203     <value type="STRING" field="newValue" label="New Value" />
 204     <value type="FLAGVALUEORIGIN" field="origin" label="Origin" />
 205   </event>
 206 
 207   <struct id="VirtualSpace">
 208     <value type="ADDRESS" field="start" label="Start Address" description="Start address of the virtual space" />
 209     <value type="ADDRESS" field="committedEnd" label="Committed End Address" description="End address of the committed memory for the virtual space" />
 210     <value type="BYTES64" field="committedSize" label="Committed Size" description="Size of the committed memory for the virtual space" />
 211     <value type="ADDRESS" field="reservedEnd" label="Reserved End Address" description="End address of the reserved memory for the virtual space" />
 212     <value type="BYTES64" field="reservedSize" label="Reserved Size" description="Size of the reserved memory for the virtual space" />
 213   </struct>
 214 
 215   <struct id="ObjectSpace">
 216     <value type="ADDRESS" field="start" label="Start Address" description="Start address of the space" />
 217     <value type="ADDRESS" field="end" label="End Address" description="End address of the space" />
 218     <value type="BYTES64" field="used" label="Used" description="Bytes allocated by objects in the space" />
 219     <value type="BYTES64" field="size" label="Size" description="Size of the space" />
 220   </struct>
 221 
 222   <event id="GCHeapSummary" path="vm/gc/heap/summary" label="Heap Summary" is_instant="true">
 223     <value type="UINT" field="gcId" label="GC Identifier" relation="GcId"/>
 224     <value type="GCWHEN" field="when" label="When" />
 225     <structvalue type="VirtualSpace" field="heapSpace" label="Heap Space"/>
 226     <value type="BYTES64" field="heapUsed" label="Heap Used" description="Bytes allocated by objects in the heap"/>
 227   </event>
 228 
 229   <struct id="MetaspaceSizes">
 230     <value type="BYTES64" field="committed" label="Committed" description="Committed memory for this space" />
 231     <value type="BYTES64" field="used" label="Used" description="Bytes allocated by objects in the space" />
 232     <value type="BYTES64" field="reserved" label="Reserved" description="Reserved memory for this space" />
 233   </struct>
 234 
 235   <event id="MetaspaceSummary" path="vm/gc/heap/metaspace_summary" label="Metaspace Summary" is_instant="true">
 236     <value type="UINT" field="gcId" label="GC Identifier" relation="GcId"/>
 237     <value type="GCWHEN" field="when" label="When" />
 238     <value type="BYTES64" field="gcThreshold" label="GC Threshold" />
 239     <structvalue type="MetaspaceSizes" field="metaspace" label="Total"/>
 240     <structvalue type="MetaspaceSizes" field="dataSpace" label="Data"/>
 241     <structvalue type="MetaspaceSizes" field="classSpace" label="Class"/>
 242   </event>
 243 
 244   <event id="MetaspaceGCThreshold" path="vm/gc/metaspace/gc_threshold" label="Metaspace GC Threshold" is_instant="true">
 245     <value type="BYTES64" field="oldValue" label="Old Value" />
 246     <value type="BYTES64" field="newValue" label="New Value" />
 247     <value type="GCTHRESHOLDUPDATER" field="updater" label="Updater" />
 248   </event>
 249 
 250   <event id="MetaspaceAllocationFailure" path="vm/gc/metaspace/allocation_failure" label="Metaspace Allocation Failure" is_instant="true" has_stacktrace="true">
 251     <value type="CLASSLOADER" field="classLoader" label="Class Loader" />
 252     <value type="BOOLEAN" field="anonymousClassLoader" label="Anonymous Class Loader" />
 253     <value type="BYTES64" field="size" label="Size" />
 254     <value type="METADATATYPE" field="metadataType" label="Metadata Type" />
 255     <value type="METASPACEOBJTYPE" field="metaspaceObjectType" label="Metaspace Object Type" />
 256   </event>
 257 
 258   <event id="MetaspaceOOM" path="vm/gc/metaspace/out_of_memory" label="Metaspace Out of Memory" is_instant="true" has_stacktrace="true">
 259     <value type="CLASSLOADER" field="classLoader" label="Class Loader" />
 260     <value type="BOOLEAN" field="anonymousClassLoader" label="Anonymous Class Loader" />
 261     <value type="BYTES64" field="size" label="Size" />
 262     <value type="METADATATYPE" field="metadataType" label="Metadata Type" />
 263     <value type="METASPACEOBJTYPE" field="metaspaceObjectType" label="Metaspace Object Type" />
 264   </event>
 265 
 266   <event id="MetaspaceChunkFreeListSummary" path="vm/gc/metaspace/chunk_free_list_summary" label="Metaspace Chunk Free List Summary" is_instant="true">
 267     <value type="UINT" field="gcId" label="GC Identifier" relation="GcId"/>
 268     <value type="GCWHEN" field="when" label="When" />
 269     <value type="METADATATYPE" field="metadataType" label="Metadata Type" />
 270     <value type="ULONG" field="specializedChunks" label="Specialized Chunks" />
 271     <value type="BYTES64" field="specializedChunksTotalSize" label="Specialized Chunks Total Size" />
 272     <value type="ULONG" field="smallChunks" label="Small Chunks" />
 273     <value type="BYTES64" field="smallChunksTotalSize" label="Small Chunks Total Size" />
 274     <value type="ULONG" field="mediumChunks" label="Medium Chunks" />
 275     <value type="BYTES64" field="mediumChunksTotalSize" label="Medium Chunks Total Size" />
 276     <value type="ULONG" field="humongousChunks" label="Humongous Chunks" />
 277     <value type="BYTES64" field="humongousChunksTotalSize" label="Humongous Chunks Total Size" />
 278   </event>
 279 
 280   <event id="PSHeapSummary" path="vm/gc/heap/ps_summary" label="Parallel Scavenge Heap Summary" is_instant="true">
 281     <value type="UINT" field="gcId" label="GC Identifier" relation="GcId"/>
 282     <value type="GCWHEN" field="when" label="When" />
 283 
 284     <structvalue type="VirtualSpace" field="oldSpace" label="Old Space"/>
 285     <structvalue type="ObjectSpace" field="oldObjectSpace" label="Old Object Space"/>
 286 
 287     <structvalue type="VirtualSpace" field="youngSpace" label="Young Space"/>
 288     <structvalue type="ObjectSpace" field="edenSpace" label="Eden Space"/>
 289     <structvalue type="ObjectSpace" field="fromSpace" label="From Space"/>
 290     <structvalue type="ObjectSpace" field="toSpace" label="To Space"/>
 291   </event>
 292 
 293   <event id="G1HeapSummary" path="vm/gc/heap/g1_summary" label="G1 Heap Summary" is_instant="true">
 294     <value type="UINT" field="gcId" label="GC Identifier" relation="GcId"/>
 295     <value type="GCWHEN" field="when" label="When" />
 296 
 297     <value type="BYTES64" field="edenUsedSize" label="Eden Used Size" />
 298     <value type="BYTES64" field="edenTotalSize" label="Eden Total Size" />
 299     <value type="BYTES64" field="survivorUsedSize" label="Survivor Used Size" />
 300     <value type="UINT" field="numberOfRegions" label="Number of Regions" />
 301   </event>
 302 
 303   <event id="GarbageCollection" path="vm/gc/collector/garbage_collection" label="Garbage Collection"
 304          description="Garbage collection performed by the JVM">
 305     <value type="UINT" field="gcId"  label="GC Identifier" relation="GcId" />
 306     <value type="GCNAME" field="name" label="Name" description="The name of the Garbage Collector" />
 307     <value type="GCCAUSE" field="cause" label="Cause" description="The reason for triggering this Garbage Collection" />
 308     <value type="TICKSPAN" field="sumOfPauses" label="Sum of Pauses" description="Sum of all the times in which Java execution was paused during the garbage collection" />
 309     <value type="TICKSPAN" field="longestPause" label="Longest Pause" description="Longest individual pause during the garbage collection" />
 310   </event>
 311 
 312   <event id="ParallelOldGarbageCollection" path="vm/gc/collector/parold_garbage_collection" label="Parallel Old Garbage Collection"
 313          description="Extra information specific to Parallel Old Garbage Collections">
 314     <value type="UINT" field="gcId"  label="GC Identifier" relation="GcId" />
 315     <value type="ADDRESS" field="densePrefix" label="Dense Prefix" description="The address of the dense prefix, used when compacting" />
 316   </event>
 317 
 318   <event id="YoungGarbageCollection" path="vm/gc/collector/young_garbage_collection" label="Young Garbage Collection"
 319          description="Extra information specific to Young Garbage Collections">
 320     <value type="UINT" field="gcId"  label="GC Identifier" relation="GcId" />
 321     <value type="UINT" field="tenuringThreshold" label="Tenuring Threshold" />
 322   </event>
 323 
 324   <event id="OldGarbageCollection" path="vm/gc/collector/old_garbage_collection" label="Old Garbage Collection"
 325          description="Extra information specific to Old Garbage Collections">
 326     <value type="UINT" field="gcId" label="GC Identifier" relation="GcId"/>
 327   </event>
 328 
 329   <event id="G1GarbageCollection" path="vm/gc/collector/g1_garbage_collection" label="G1 Garbage Collection"
 330          description="Extra information specific to G1 Garbage Collections">
 331     <value type="UINT" field="gcId" label="GC Identifier" relation="GcId"/>
 332     <value type="G1YCTYPE" field="type" label="Type" />
 333   </event>
 334 
 335   <event id="G1MMU" path="vm/gc/detailed/g1_mmu_info" label="G1 MMU Information" is_instant="true">
 336     <value type="UINT" field="gcId" label="GC Identifier" relation="GcId"/>
 337     <value type="MILLIS" field="timeSlice" label="Time Slice" description="Time slice used to calculate MMU"/>
 338     <value type="MILLIS" field="gcTime" label="GC Time" description="Time stopped because of GC during last time slice"/>
 339     <value type="MILLIS" field="pauseTarget" label="Pause Target" description="Max time allowed to be spent on GC during last time slice"/>
 340   </event>
 341 
 342   <event id="EvacuationInformation" path="vm/gc/detailed/evacuation_info" label="Evacuation Information" is_instant="true">
 343     <value type="UINT" field="gcId" label="GC Identifier" relation="GcId"/>
 344     <value type="UINT" field="cSetRegions" label="Collection Set Regions"/>
 345     <value type="BYTES64" field="cSetUsedBefore" label="Collection Set Before" description="Memory usage before GC in the collection set regions"/>
 346     <value type="BYTES64" field="cSetUsedAfter" label="Collection Set After" description="Memory usage after GC in the collection set regions"/>
 347     <value type="UINT" field="allocationRegions" label="Allocation Regions" description="Regions chosen as allocation regions during evacuation (includes survivors and old space regions)"/>
 348     <value type="BYTES64" field="allocationRegionsUsedBefore" label="Allocation Regions Before" description="Memory usage before GC in allocation regions"/>
 349     <value type="BYTES64" field="allocationRegionsUsedAfter" label="Allocation Regions After" description="Memory usage after GC in allocation regions"/>
 350     <value type="BYTES64" field="bytesCopied" label="Bytes Copied"/>
 351     <value type="UINT" field="regionsFreed" label="Regions Freed"/>
 352   </event>
 353 
 354   <event id="GCReferenceStatistics" path="vm/gc/reference/statistics"
 355          label="GC Reference Statistics" is_instant="true"
 356          description="Total count of processed references during GC">
 357     <value type="UINT" field="gcId" label="GC Identifier" relation="GcId"/>
 358     <value type="REFERENCETYPE" field="type" label="Type" />
 359     <value type="ULONG" field="count" label="Total Count" />
 360   </event>
 361 
 362   <struct id="CopyFailed">
 363     <value type="ULONG" field="objectCount" label="Object Count"/>
 364     <value type="BYTES64" field="firstSize" label="First Failed Object Size"/>
 365     <value type="BYTES64" field="smallestSize" label="Smallest Failed Object Size"/>
 366     <value type="BYTES64" field="totalSize" label="Total Object Size"/>
 367   </struct>
 368 
 369   <event id="ObjectCountAfterGC" path="vm/gc/detailed/object_count_after_gc" is_instant="true" label="Object Count after GC">
 370     <value type="UINT" field="gcId"  label="GC Identifier" relation="GcId" />
 371     <value type="CLASS" field="objectClass" label="Object Class" />
 372     <value type="LONG" field="count" label="Count" />
 373     <value type="BYTES64" field="totalSize" label="Total Size" />
 374   </event>
 375 
 376   <struct id="G1EvacuationStatistics">
 377     <value type="UINT" field="gcId" label="GC Identifier" relation="GcId"/>
 378     <value type="BYTES64" field="allocated" label="Allocated" description="Total memory allocated by PLABs"/>
 379     <value type="BYTES64" field="wasted" label="Wasted" description="Total memory wasted within PLABs due to alignment or refill"/>
 380     <value type="BYTES64" field="used" label="Used" description="Total memory occupied by objects within PLABs"/>
 381     <value type="BYTES64" field="undoWaste" label="Undo Wasted" description="Total memory wasted due to allocation undo within PLABs"/>
 382     <value type="BYTES64" field="regionEndWaste" label="Region End Wasted" description="Total memory wasted at the end of regions due to refill"/>
 383     <value type="UINT" field="regionsRefilled" label="Region Refills" description="Total memory wasted at the end of regions due to refill"/>
 384     <value type="BYTES64" field="directAllocated" label="Allocated (direct)" description="Total memory allocated using direct allocation outside of PLABs"/>
 385     <value type="BYTES64" field="failureUsed" label="Used (failure)" description="Total memory occupied by objects in regions where evacuation failed"/>
 386     <value type="BYTES64" field="failureWaste" label="Wasted (failure)" description="Total memory left unused in regions where evacuation failed"/>
 387   </struct>
 388 
 389   <event id="G1EvacuationYoungStatistics" path="vm/gc/detailed/g1_evac_young_stats" label="G1 Evacuation Statistics for Young"
 390          is_instant="true" description="Memory related evacuation statistics during GC for the young generation">
 391     <structvalue type="G1EvacuationStatistics" field="statistics" label="Evacuation Statistics"/>
 392   </event>
 393 
 394   <event id="G1EvacuationOldStatistics" path="vm/gc/detailed/g1_evac_old_stats" label="G1 Evacuation Memory Statistics for Old"
 395          is_instant="true" description="Memory related evacuation statistics during GC for the old generation">
 396     <structvalue type="G1EvacuationStatistics" field="statistics" label="Evacuation Statistics"/>
 397   </event>
 398 
 399   <event id="G1BasicIHOP" path="vm/gc/detailed/g1_basic_ihop_status" label="G1 Basic IHOP Statistics"
 400          is_instant="true" description="Basic statistics related to current IHOP calculation">
 401     <value type="UINT" field="gcId" label="GC Identifier" relation="GcId"/>
 402     <value type="BYTES64" field="threshold" label="Current IHOP Threshold" description="Current IHOP threshold"/>
 403     <value type="PERCENTAGE" field="thresholdPercentage" label="Current IHOP Threshold" description="Current IHOP threshold in percent of old generation"/>
 404     <value type="BYTES64" field="targetOccupancy" label="Target Occupancy" description="Target old generation occupancy to reach at the start of mixed GC"/>
 405     <value type="BYTES64" field="currentOccupancy" label="Current Occupancy" description="Current old generation occupancy"/>
 406     <value type="BYTES64" field="recentMutatorAllocationSize" label="Recent Mutator Allocation Size" description="Mutator allocation during mutator operation in the most recent interval"/>
 407     <value type="MILLIS" field="recentMutatorDuration" label="Recent Mutator Duration" description="Time the mutator ran in the most recent interval"/>
 408     <value type="DOUBLE" field="recentAllocationRate" label="Recent Allocation Rate" description="Allocation rate of the mutator in the most recent interval in bytes/second"/>
 409     <value type="MILLIS" field="lastMarkingDuration" label="Last Marking Duration" description="Last time from the end of the last initial mark to the first mixed GC"/>
 410   </event>
 411 
 412   <event id="G1AdaptiveIHOP" path="vm/gc/detailed/g1_adaptive_ihop_status" label="G1 Adaptive IHOP Statistics"
 413          is_instant="true" description="Statistics related to current adaptive IHOP calculation">
 414     <value type="UINT" field="gcId" label="GC Identifier" relation="GcId"/>
 415     <value type="BYTES64" field="threshold" label="Threshold" description="Current IHOP Threshold"/>
 416     <value type="PERCENTAGE" field="thresholdPercentage" label="Threshold" description="Current IHOP threshold in percent of the internal target occupancy"/>
 417     <value type="BYTES64" field="ihopTargetOccupancy" label="IHOP Target Occupancy" description="Internal target old generation occupancy to reach at the start of mixed GC"/>
 418     <value type="BYTES64" field="currentOccupancy" label="Current Occupancy" description="Current old generation occupancy"/>
 419     <value type="BYTES64" field="additionalBufferSize" label="Additional Buffer" description="Additional buffer size" experimental="true"/>
 420     <value type="DOUBLE" field="predictedAllocationRate" label="Predicted Allocation Rate" description="Current predicted allocation rate for the mutator in bytes/second"/>
 421     <value type="MILLIS" field="predictedMarkingDuration" label="Predicted Marking Duration" description="Current predicted time from the end of the last initial mark to the first mixed GC"/>
 422     <value type="BOOLEAN" field="predictionActive" label="Prediction Active" description="Indicates whether the adaptive IHOP prediction is active"/>
 423   </event>
 424 
 425   <!-- Promotion events, Supported GCs are Parallel Scavange, G1 and CMS with Parallel New. -->
 426   <event id="PromoteObjectInNewPLAB" path="vm/gc/detailed/object_promotion_in_new_PLAB" label="Promotion in new PLAB"
 427          description="Object survived scavenge and was copied to a new Promotion Local Allocation Buffer (PLAB). Supported GCs are Parallel Scavange, G1 and CMS with Parallel New. Due to promotion being done in parallel an object might be reported multiple times as the GC threads race to copy all objects."
 428          has_thread="true" has_stacktrace="false" is_instant="true">
 429     <value type="UINT" field="gcId" label="GC Identifier" relation="GcId" description="Identifier signifying GC during which the object was promoted"/>
 430     <value type="CLASS" field="objectClass" label="Object Class" description="Class of promoted object"/>
 431     <value type="BYTES64" field="objectSize" label="Object Size" description="Size of promoted object"/>
 432     <value type="UINT" field="tenuringAge" label="Object Tenuring Age" description="Tenuring age of a surviving object before being copied. The tenuring age of an object is a value between 0-15 and is incremented each scavange the object survives. Newly allocated objects have tenuring age 0."/>
 433     <value type="BOOLEAN" field="tenured" label="Tenured" description="True if object was promoted to Old space, otherwise the object was aged and copied to a Survivor space"/>
 434     <value type="BYTES64" field="plabSize" label="PLAB Size" description="Size of the allocated PLAB to which the object was copied"/>
 435   </event>
 436 
 437   <event id="PromoteObjectOutsidePLAB" path="vm/gc/detailed/object_promotion_outside_PLAB" label="Promotion outside PLAB"
 438          description="Object survived scavenge and was copied directly to the heap. Supported GCs are Parallel Scavange, G1 and CMS with Parallel New. Due to promotion being done in parallel an object might be reported multiple times as the GC threads race to copy all objects."
 439          has_thread="true" has_stacktrace="false" is_instant="true">
 440     <value type="UINT" field="gcId" label="GC Identifier" relation="GcId" description="Identifier signifying GC during which the object was promoted"/>
 441     <value type="CLASS" field="objectClass" label="Object Class" description="Class of promoted object"/>
 442     <value type="BYTES64" field="objectSize" label="Object Size" description="Size of promoted object"/>
 443     <value type="UINT" field="tenuringAge" label="Object Tenuring Age" description="Tenuring age of a surviving object before being copied. The tenuring age of an object is a value between 0-15 and is incremented each scavange the object survives. Newly allocated objects have tenuring age 0."/>
 444     <value type="BOOLEAN" field="tenured" label="Tenured" description="True if object was promoted to Old space, otherwise the object was aged and copied to a Survivor space"/>
 445   </event>
 446 
 447   <event id="PromotionFailed" path="vm/gc/detailed/promotion_failed" label="Promotion Failed" is_instant="true"
 448          description="Promotion of an object failed">
 449     <value type="UINT" field="gcId" label="GC Identifier" relation="GcId"/>
 450     <structvalue type="CopyFailed" field="promotionFailed" label="Promotion Failed Data"/>
 451     <value type="THREAD" field="thread" label="Running thread"/>
 452   </event>
 453 
 454   <event id="EvacuationFailed" path="vm/gc/detailed/evacuation_failed" label="Evacuation Failed" is_instant="true"
 455          description="Evacuation of an object failed">
 456     <value type="UINT" field="gcId" label="GC Identifier" relation="GcId"/>
 457     <structvalue type="CopyFailed" field="evacuationFailed" label="Evacuation Failed Data"/>
 458   </event>
 459 
 460   <event id="ConcurrentModeFailure" path="vm/gc/detailed/concurrent_mode_failure" label="Concurrent Mode Failure"
 461          is_instant="true" description="Concurrent Mode failed">
 462     <value type="UINT" field="gcId" label="GC Identifier" relation="GcId"/>
 463   </event>
 464 
 465   <event id="GCPhasePause" path="vm/gc/phases/pause" label="GC Phase Pause" has_thread="true">
 466     <value type="UINT" field="gcId" label="GC Identifier" relation="GcId"/>
 467     <value type="STRING" field="name" label="Name" />
 468   </event>
 469 
 470   <event id="GCPhasePauseLevel1" path="vm/gc/phases/pause_level_1" label="GC Phase Pause Level 1" has_thread="true">
 471     <value type="UINT" field="gcId" label="GC Identifier" relation="GcId"/>
 472     <value type="STRING" field="name" label="Name" />
 473   </event>
 474 
 475   <event id="GCPhasePauseLevel2" path="vm/gc/phases/pause_level_2" label="GC Phase Pause Level 2" has_thread="true">
 476     <value type="UINT" field="gcId" label="GC Identifier" relation="GcId"/>
 477     <value type="STRING" field="name" label="Name" />
 478   </event>
 479 
 480   <event id="GCPhasePauseLevel3" path="vm/gc/phases/pause_level_3" label="GC Phase Pause Level 3" has_thread="true">
 481     <value type="UINT" field="gcId" label="GC Identifier" relation="GcId"/>
 482     <value type="STRING" field="name" label="Name" />
 483   </event>
 484 
 485   <event id="GCPhasePauseLevel4" path="vm/gc/phases/pause_level_4" label="GC Phase Pause Level 4" has_thread="true">
 486     <value type="UINT" field="gcId" label="GC Identifier" relation="GcId"/>
 487     <value type="STRING" field="name" label="Name" />
 488   </event>
 489 
 490   <event id="GCPhaseConcurrent" path="vm/gc/phases/concurrent" label="GC Phase Concurrent" has_thread="true">
 491     <value type="UINT" field="gcId" label="GC Identifier" relation="GcId"/>
 492     <value type="STRING" field="name" label="Name" />
 493   </event>
 494 
 495   <event id="AllocationRequiringGC" path="vm/gc/detailed/allocation_requiring_gc" label="Allocation Requiring GC"
 496          has_thread="true" has_stacktrace="true"  is_instant="true">
 497     <value type="UINT" field="gcId"  label="Pending GC Identifier" relation="GcId" />
 498     <value type="BYTES64" field="size" label="Allocation Size" />
 499   </event>
 500 
 501   <event id="TenuringDistribution" path="vm/gc/detailed/tenuring_distribution" label="Tenuring Distribution"
 502          is_instant="true">
 503     <value type="UINT" field="gcId" label="GC Identifier" relation="GcId"/>
 504     <value type="UINT" field="age" label="Age" />
 505     <value type="BYTES64" field="size" label="Size" />
 506   </event>
 507 
 508   <event id="G1HeapRegionTypeChange" path="vm/gc/detailed/g1_heap_region_type_change" label="G1 Heap Region Type Change"
 509          description="Information about a G1 heap region type change" is_instant="true">
 510     <value type="UINT" field="index" label="Index" />
 511     <value type="G1HEAPREGIONTYPE" field="from" label="From" />
 512     <value type="G1HEAPREGIONTYPE" field="to" label="To" />
 513     <value type="ADDRESS" field="start" label="Start" />
 514     <value type="BYTES64" field="used" label="Used" />
 515   </event>
 516 
 517   <!-- Compiler events -->
 518 
 519   <event id="Compilation" path="vm/compiler/compilation" label="Compilation"
 520          has_thread="true" is_requestable="false" is_constant="false">
 521     <value type="METHOD" field="method" label="Java Method"/>
 522     <value type="UINT" field="compileId" label="Compilation Identifier" relation="CompileId"/>
 523     <value type="USHORT" field="compileLevel" label="Compilation Level"/>
 524     <value type="BOOLEAN" field="succeded" label="Succeeded"/>
 525     <value type="BOOLEAN" field="isOsr" label="On Stack Replacement"/>
 526     <value type="BYTES" field="codeSize" label="Compiled Code Size"/>
 527     <value type="BYTES" field="inlinedBytes" label="Inlined Code Size"/>
 528   </event>
 529 
 530   <event id="CompilerPhase" path="vm/compiler/phase" label="Compiler Phase"
 531          has_thread="true" is_requestable="false" is_constant="false">
 532     <value type="COMPILERPHASETYPE" field="phase" label="Compile Phase"/>
 533     <value type="UINT" field="compileId" label="Compilation Identifier" relation="CompileId"/>
 534     <value type="USHORT" field="phaseLevel" label="Phase Level"/>
 535   </event>
 536 
 537   <event id="CompilationFailure" path="vm/compiler/failure" label="Compilation Failure"
 538          has_thread="true" is_requestable="false" is_constant="false" is_instant="true">
 539     <value type="STRING" field="failureMessage" label="Failure Message"/>
 540     <value type="UINT" field="compileId" label="Compilation Identifier" relation="CompileId"/>
 541   </event>
 542 
 543   <struct id="CalleeMethod">
 544     <value type="STRING" field="type" label="Class"/>
 545     <value type="STRING" field="name" label="Method Name"/>
 546     <value type="STRING" field="descriptor" label="Method Descriptor"/>
 547   </struct>
 548 
 549   <event id="CompilerInlining" path="vm/compiler/optimization/inlining" label="Method Inlining"
 550          has_thread="true" is_instant="true">
 551     <value type="UINT" field="compileId" label="Compilation Identifier" relation="CompileId"/>
 552     <value type="METHOD" field="caller" label="Caller Method"/>
 553     <structvalue type="CalleeMethod" field="callee" label="Callee Method"/>
 554     <value type="BOOLEAN" field="succeeded" label="Succeeded"/>
 555     <value type="STRING" field="message" label="Message"/>
 556     <value type="INTEGER" field="bci" label="Byte Code Index"/>
 557   </event>
 558 
 559   <!-- Code sweeper events -->
 560 
 561   <event id="SweepCodeCache" path="vm/code_sweeper/sweep" label="Sweep Code Cache"
 562          has_thread="true" is_requestable="false" is_constant="false">
 563     <value type="INTEGER" field="sweepId" label="Sweep Identifier" relation="SweepId"/>
 564     <value type="UINT" field="sweptCount" label="Methods Swept"/>
 565     <value type="UINT" field="flushedCount" label="Methods Flushed"/>
 566     <value type="UINT" field="zombifiedCount" label="Methods Zombified"/>
 567   </event>
 568 
 569   <!-- Code cache events -->
 570 
 571   <event id="CodeCacheStatistics" path="vm/code_cache/stats" label="Code Cache Statistics"
 572          has_thread="false" is_requestable="true" is_constant="false" is_instant="true">
 573     <value type="CODEBLOBTYPE" field="codeBlobType" label="Code Heap"/>
 574     <value type="ADDRESS" field="startAddress" label="Start Address"/>
 575     <value type="ADDRESS" field="reservedTopAddress" label="Reserved Top"/>
 576     <value type="INTEGER" field="entryCount" label="Entries"/>
 577     <value type="INTEGER" field="methodCount" label="Methods"/>
 578     <value type="INTEGER" field="adaptorCount" label="Adaptors"/>
 579     <value type="BYTES64" field="unallocatedCapacity" label="Unallocated"/>
 580     <value type="INTEGER" field="fullCount" label="Full Count"/>
 581   </event>
 582 
 583   <event id="CodeCacheConfiguration" path="vm/code_cache/config" label="Code Cache Configuration"
 584          has_thread="false" is_requestable="true" is_constant="true" is_instant="true">
 585     <value type="BYTES64" field="initialSize" label="Initial Size"/>
 586     <value type="BYTES64" field="reservedSize" label="Reserved Size"/>
 587     <value type="BYTES64" field="expansionSize" label="Expansion size"/>
 588     <value type="BYTES64" field="minBlockLength" label="Minimum Block Length"/>
 589     <value type="ADDRESS" field="startAddress" label="Start Address"/>
 590     <value type="ADDRESS" field="reservedTopAddress" label="Reserved Top"/>
 591   </event>
 592 
 593   <event id="CodeCacheFull" path="vm/code_cache/full" label="Code Cache Full"
 594          has_thread="true" is_requestable="false" is_constant="false" is_instant="true">
 595     <value type="CODEBLOBTYPE" field="codeBlobType" label="Code Heap"/>
 596     <value type="ADDRESS" field="startAddress" label="Start Address"/>
 597     <value type="ADDRESS" field="commitedTopAddress" label="Commited Top"/>
 598     <value type="ADDRESS" field="reservedTopAddress" label="Reserved Top"/>
 599     <value type="INTEGER" field="entryCount" label="Entries"/>
 600     <value type="INTEGER" field="methodCount" label="Methods"/>
 601     <value type="INTEGER" field="adaptorCount" label="Adaptors"/>
 602     <value type="BYTES64" field="unallocatedCapacity" label="Unallocated"/>
 603     <value type="INTEGER" field="fullCount" label="Full Count"/>
 604   </event>
 605 
 606   <event id="SafepointBegin" path="vm/runtime/safepoint/begin" label="Safepoint Begin"
 607          description="Safepointing begin" has_thread="true">
 608     <value type="INTEGER" field="safepointId" label="Safepoint Identifier" relation="SafepointId"/>
 609     <value type="INTEGER" field="totalThreadCount" label="Total Threads" description="The total number of threads at the start of safe point"/>
 610     <value type="INTEGER" field="jniCriticalThreadCount" label="JNI Critical Threads" description="The number of threads in JNI critical sections"/>
 611   </event>
 612 
 613   <event id="SafepointStateSynchronization" path="vm/runtime/safepoint/statesync" label="Safepoint State Synchronization"
 614          description="Synchronize run state of threads" has_thread="true">
 615     <value type="INTEGER" field="safepointId" label="Safepoint Identifier" relation="SafepointId"/>
 616     <value type="INTEGER" field="initialThreadCount" label="Initial Threads" description="The number of threads running at the beginning of state check"/>
 617     <value type="INTEGER" field="runningThreadCount" label="Running Threads" description="The number of threads still running"/>
 618     <value type="INTEGER" field="iterations" label="Iterations" description="Number of state check iterations"/>
 619   </event>
 620 
 621   <event id="SafepointWaitBlocked" path="vm/runtime/safepoint/waitblocked" label="Safepoint Wait Blocked"
 622          description="Safepointing begin waiting on running threads to block" has_thread="true">
 623     <value type="INTEGER" field="safepointId" label="Safepoint Identifier" relation="SafepointId"/>
 624     <value type="INTEGER" field="runningThreadCount" label="Running Threads" description="The number running of threads wait for safe point"/>
 625   </event>
 626 
 627   <event id="SafepointCleanup" path="vm/runtime/safepoint/cleanup" label="Safepoint Cleanup"
 628          description="Safepointing begin running cleanup tasks" has_thread="true">
 629     <value type="INTEGER" field="safepointId" label="Safepoint Identifier" relation="SafepointId"/>
 630   </event>
 631 
 632   <event id="SafepointCleanupTask" path="vm/runtime/safepoint/cleanuptask" label="Safepoint Cleanup Task"
 633          description="Safepointing begin running cleanup tasks" has_thread="true">
 634     <value type="INTEGER" field="safepointId" label="Safepoint Identifier" relation="SafepointId"/>
 635     <value type="STRING" field="name" label="Task Name" description="The task name"/>
 636   </event>
 637 
 638   <event id="SafepointEnd" path="vm/runtime/safepoint/end" label="Safepoint End"
 639          description="Safepointing end" has_thread="true">
 640     <value type="INTEGER" field="safepointId" label="Safepoint Identifier" relation="SafepointId"/>
 641   </event>
 642 
 643   <event id="ExecuteVMOperation" path="vm/runtime/execute_vm_operation" label="VM Operation"
 644          description="Execution of a VM Operation" has_thread="true">
 645     <value type="VMOPERATIONTYPE" field="operation" label="Operation" />
 646     <value type="BOOLEAN" field="safepoint" label="At Safepoint" description="If the operation occured at a safepoint"/>
 647     <value type="BOOLEAN" field="blocking" label="Caller Blocked" description="If the calling thread was blocked until the operation was complete"/>
 648     <value type="THREAD" field="caller" label="Caller" transition="FROM" description="Thread requesting operation. If non-blocking, will be set to 0 indicating thread is unknown"/>
 649     <value type="INTEGER" field="safepointId" label="Safepoint Identifier" description="The safepoint (if any) under which this operation was completed" relation="SafepointId"/>
 650   </event>
 651 
 652   <event id="Shutdown" path="vm/runtime/shutdown" label="VM Shutdown"
 653          description="VM shutting down" has_thread="true" has_stacktrace="true" is_instant="true">
 654     <value type="STRING" field="reason" label="Reason" description="Reason for VM shutdown"/>
 655   </event>
 656 
 657   <!-- Allocation events -->
 658   <event id="ObjectAllocationInNewTLAB" path="java/object_alloc_in_new_TLAB" label="Allocation in new TLAB"
 659          description="Allocation in new Thread Local Allocation Buffer" has_thread="true" has_stacktrace="true" is_instant="true">
 660     <value type="CLASS" field="objectClass" label="Object Class" description="Class of allocated object"/>
 661     <value type="BYTES64" field="allocationSize" label="Allocation Size"/>
 662     <value type="BYTES64" field="tlabSize" label="TLAB Size"/>
 663   </event>
 664 
 665   <event id="ObjectAllocationOutsideTLAB" path="java/object_alloc_outside_TLAB" label="Allocation outside TLAB"
 666          description="Allocation outside Thread Local Allocation Buffers" has_thread="true" has_stacktrace="true" is_instant="true">
 667     <value type="CLASS" field="objectClass" label="Object Class" description="Class of allocated object"/>
 668     <value type="BYTES64" field="allocationSize" label="Allocation Size"/>
 669   </event>
 670   
 671    <event id="OldObjectSample" path="java/old_object" label="Old Object Sample"
 672        description="A potential memory leak" has_stacktrace="true" has_thread="true" is_instant="true" cutoff="true">
 673     <value type="TICKS" field="allocationTime" label="Allocation Time"/>
 674     <value type="OLDOBJECT" field="object" label="Object"/>
 675     <value type="INTEGER" field="arrayElements" label="Array Elements" description="If the object is an array, the number of elements, or -1 if it is not an array"/>
 676     <value type="OLDOBJECTGCROOT" field="root" label="GC Root"/>
 677   </event>
 678 
 679   <event id="DumpReason" path="flight_recorder/dump_reason" label="Recording Reason"
 680          description="Who requested the recording and why" is_instant="true">
 681     <value type="STRING" field="reason" label="Reason" description="Reason for writing recording data to disk"/>
 682     <value type="INTEGER" field="recordingId" label="Recording Id"  description="Id of the recording that triggered the dump, or -1 if it was not related to a recording"/>
 683   </event>
 684 
 685   <event id="DataLoss" path="flight_recorder/data_loss" label="Data Loss"
 686          description="Data could not be copied out from a buffer, typically because of contention" is_instant="true">
 687     <value type="BYTES" field="amount" label="Amount" description="Amount lost data"/>
 688     <value type="BYTES" field="total" label="Total" description="Total lost amount for thread"/>
 689   </event>
 690   
 691   <event id="JVMInformation" path="vm/info" label="JVM Information"
 692          description="Description of JVM and the Java application"
 693          is_requestable="true" is_constant="true">
 694     <value type="STRING" field="jvmName" label="JVM Name"/>
 695     <value type="STRING" field="jvmVersion" label="JVM Version"/>
 696     <value type="STRING" field="jvmArguments" label="JVM Command Line Arguments"/>
 697     <value type="STRING" field="jvmFlags" label="JVM Settings File Arguments"/>
 698     <value type="STRING" field="javaArguments" label="Java Application Arguments"/>
 699     <value type="EPOCHMILLIS" field="jvmStartTime" label="JVM Start Time"/>
 700   </event>
 701 
 702   <event id="OSInformation" path="os/information" label="OS Information"
 703          is_requestable="true" is_constant="true">
 704     <value type="STRING" field="osVersion" label="OS Version"/>
 705   </event>
 706 
 707   <event id="InitialEnvironmentVariable" path="os/initial_environment_variable" label="Initial Environment Variable"
 708          is_requestable="true" is_constant="true">
 709     <value type="STRING" field="key" label="Key"/>
 710     <value type="STRING" field="value" label="Value"/>
 711   </event>
 712 
 713   <event id="SystemProcess" path="os/system_process" label="System Process"
 714          is_requestable="true" is_constant="true">
 715     <value type="STRING" field="pid" label="Process Identifier"/>
 716     <value type="STRING" field="commandLine" label="Command Line"/>
 717   </event>
 718 
 719   <event id="CPUInformation" path="os/processor/cpu_information" label="CPU Information"
 720          is_requestable="true" is_constant="true">
 721     <value type="STRING" field="cpu" label="Type"/>
 722     <value type="STRING" field="description" label="Description"/>
 723     <value type="UINT" field="sockets" label="Sockets"/>
 724     <value type="UINT" field="cores" label="Cores"/>
 725     <value type="UINT" field="hwThreads" label="Hardware Threads"/>
 726   </event>
 727 
 728   <event id="CPUTimeStampCounter" path="os/processor/cpu_tsc" label="CPU Time Stamp Counter"
 729          is_requestable="true" is_constant="true">
 730     <value type="BOOLEAN" field="fastTimeEnabled" label="Fast Time"/>
 731     <value type="BOOLEAN" field="fastTimeAutoEnabled" label="Trusted Platform"/>
 732     <value type="LONG" field="osFrequency" label="OS Frequency Per Second"/>
 733     <value type="LONG" field="fastTimeFrequency" label="Fast Time Frequency per Second"/>
 734   </event>
 735 
 736   <event id="CPULoad" path="os/processor/cpu_load" label="CPU Load"
 737          description="OS CPU Load" is_requestable="true">
 738   <value type="PERCENTAGE" field="jvmUser" label="JVM User"/>
 739   <value type="PERCENTAGE" field="jvmSystem" label="JVM System"/>
 740   <value type="PERCENTAGE" field="machineTotal" label="Machine Total"/>
 741   </event>
 742 
 743   <event id="ThreadContextSwitchRate" path="os/processor/context_switch_rate"
 744          label="Thread Context Switch Rate" is_requestable="true">
 745   <value type="FLOAT" field="switchRate" label="Switch Rate" description="Number of context switches per second"/>
 746   </event>
 747 
 748   <event id="PhysicalMemory" path="os/memory/physical_memory" label="Physical Memory"
 749          description="OS Physical Memory" is_requestable="true">
 750     <value type="BYTES64" field="totalSize" label="Total Size"
 751         description="Total amount of physical memory available to OS"/>
 752     <value type="BYTES64" field="usedSize" label="Used Size"
 753         description="Total amount of physical memory in use"/>
 754   </event>
 755 
 756   <event id="ExecutionSample" path="vm/prof/execution_sample" label="Method Profiling Sample"
 757          description="Snapshot of a threads state"
 758          is_requestable="true">
 759     <value type="THREAD" field="sampledThread" label="Thread"/>
 760     <value type="STACKTRACE" field="stackTrace" label="Stack Trace"/>
 761     <value type="THREADSTATE" field="state" label="Thread State"/>
 762   </event>
 763   
 764   <event id="NativeMethodSample" path="vm/prof/native_method_sample" label="Method Profiling Sample Native"
 765          description="Snapshot of a threads state when in native"
 766          is_requestable="true" ignore_check="true">
 767     <value type="THREAD" field="sampledThread" label="Thread"/>
 768     <value type="STACKTRACE" field="stackTrace" label="Stack Trace"/>
 769     <value type="THREADSTATE" field="state" label="Thread State"/>
 770   </event>
 771   
 772   <event id="ThreadDump" path="vm/runtime/thread_dump" label="Thread Dump"
 773          is_requestable="true">
 774     <value type="STRING" field="result" label="Thread Dump"/>
 775   </event>
 776 
 777   <event id="NativeLibrary" path="vm/runtime/native_library" label="Native Library" is_requestable="true">
 778     <value type="STRING" field="name" label="Name"/>
 779     <value type="ADDRESS" field="baseAddress" label="Base Address" description="Starting address of the module"/>
 780     <value type="ADDRESS" field="topAddress" label="Top Address" description="Ending address of the module"/>
 781   </event>
 782 
 783   <event id="IntFlag" path="vm/flag/int" is_requestable="true" label="Int Flag"
 784          is_constant="true">
 785     <value type="STRING" field="name" label="Name" />
 786     <value type="INTEGER" field="value" label="Value" />
 787     <value type="FLAGVALUEORIGIN" field="origin" label="Origin" />
 788   </event>
 789 
 790   <event id="UnsignedIntFlag" path="vm/flag/uint" is_requestable="true" label="Unsigned Int Flag"
 791          is_constant="true">
 792     <value type="STRING" field="name" label="Name" />
 793     <value type="UINT" field="value" label="Value" />
 794     <value type="FLAGVALUEORIGIN" field="origin" label="Origin" />
 795   </event>
 796 
 797   <event id="LongFlag" path="vm/flag/long" is_requestable="true" label="Long Flag"
 798          is_constant="true">
 799     <value type="STRING" field="name" label="Name" />
 800     <value type="LONG" field="value" label="Value" />
 801     <value type="FLAGVALUEORIGIN" field="origin" label="Origin" />
 802   </event>
 803 
 804   <event id="UnsignedLongFlag" path="vm/flag/ulong" is_requestable="true" label="Unsigned Long Flag"
 805          is_constant="true">
 806     <value type="STRING" field="name" label="Name" />
 807     <value type="ULONG" field="value" label="Value" />
 808     <value type="FLAGVALUEORIGIN" field="origin" label="Origin" />
 809   </event>
 810 
 811   <event id="DoubleFlag" path="vm/flag/double" is_requestable="true" label="Double Flag"
 812          is_constant="true">
 813     <value type="STRING" field="name" label="Name" />
 814     <value type="DOUBLE" field="value" label="Value" />
 815     <value type="FLAGVALUEORIGIN" field="origin" label="Origin" />
 816   </event>
 817 
 818   <event id="BooleanFlag" path="vm/flag/boolean" is_requestable="true" label="Boolean Flag"
 819          is_constant="true">
 820     <value type="STRING" field="name" label="Name" />
 821     <value type="BOOLEAN" field="value" label="Value" />
 822     <value type="FLAGVALUEORIGIN" field="origin" label="Origin" />
 823   </event>
 824 
 825   <event id="StringFlag" path="vm/flag/string" is_requestable="true" label="String Flag"
 826          is_constant="true">
 827     <value type="STRING" field="name" label="Name" />
 828     <value type="STRING" field="value" label="Value" />
 829     <value type="FLAGVALUEORIGIN" field="origin" label="Origin" />
 830   </event>
 831 
 832   <event id="ObjectCount" path="vm/gc/detailed/object_count" is_instant="true"
 833          is_requestable="true" label="Object Count">
 834     <value type="UINT" field="gcId"  label="GC Identifier" relation="GcId" />
 835     <value type="CLASS" field="objectClass" label="Object Class" />
 836     <value type="LONG" field="count" label="Count" />
 837     <value type="BYTES64" field="totalSize" label="Total Size" />
 838   </event>
 839 
 840 
 841   <event id="GCConfiguration" path="vm/gc/configuration/gc" label="GC Configuration"
 842          description="The configuration of the garbage collector" is_requestable="true" is_constant="true">
 843     <value type="GCNAME" field="youngCollector" label="Young Garbage Collector" description="The garbage collector used for the young generation"/>
 844     <value type="GCNAME" field="oldCollector" label="Old Garbage Collector" description="The garbage collector used for the old generation"/>
 845     <value type="UINT" field="parallelGCThreads" label="Parallel GC Threads" description="Number of parallel threads to use for garbage collection"/>
 846     <value type="UINT" field="concurrentGCThreads" label="Concurrent GC Threads" description="Number of concurrent threads to use for garbage collection"/>
 847     <value type="BOOLEAN" field="usesDynamicGCThreads" label="Uses Dynamic GC Threads" description="Whether a dynamic number of GC threads are used or not" />
 848     <value type="BOOLEAN" field="isExplicitGCConcurrent" label="Concurrent Explicit GC" description="Whether System.gc() is concurrent or not"/>
 849     <value type="BOOLEAN" field="isExplicitGCDisabled" label="Disabled Explicit GC" description="Whether System.gc() will cause a garbage collection or not"/>
 850     <value type="MILLIS" field="pauseTarget" label="Pause Target" description="Target for GC pauses"/>
 851     <value type="UINT" field="gcTimeRatio" label="GC Time Ratio" description="Target for runtime vs garbage collection time"/>
 852   </event>
 853 
 854   <event id="GCSurvivorConfiguration" path="vm/gc/configuration/survivor" label="GC Survivor Configuration"
 855          description="The configuration of the survivors of garbage collection" is_requestable="true" is_constant="true">
 856     <value type="UBYTE" field="maxTenuringThreshold" label="Maximum Tenuring Threshold" description="Upper limit for the age of how old objects to keep in the survivor area" />
 857     <value type="UBYTE" field="initialTenuringThreshold" label="Initial Tenuring Threshold" description="Initial age limit for how old objects to keep in survivor area" />
 858   </event>
 859 
 860   <event id="GCTLABConfiguration" path="vm/gc/configuration/tlab" label="TLAB Configuration"
 861          description="The configuration of the Thread Local Allocation Buffers (TLABs)" is_requestable="true" is_constant="true">
 862     <value type="BOOLEAN" field="usesTLABs" label="TLABs Used" description="If Thread Local Allocation Buffers (TLABs) are in use"/>
 863     <value type="BYTES64" field="minTLABSize" label="Minimum TLAB Size" />
 864     <value type="BYTES64" field="tlabRefillWasteLimit" label="TLAB Refill Waste Limit"/>
 865   </event>
 866 
 867   <event id="GCHeapConfiguration" path="vm/gc/configuration/heap" label="GC Heap Configuration"
 868          description="The configuration of the garbage collected heap" is_requestable="true" is_constant="true">
 869     <value type="BYTES64" field="minSize" label="Minimum Heap Size" />
 870     <value type="BYTES64" field="maxSize" label="Maximum Heap Size" />
 871     <value type="BYTES64" field="initialSize" label="Initial Heap Size" />
 872     <value type="BOOLEAN" field="usesCompressedOops" label="If Compressed Oops Are Used" description="If compressed Oops (Ordinary Object Pointers) are enabled" />
 873     <value type="NARROWOOPMODE" field="compressedOopsMode" label="Compressed Oops Mode" description="The kind of compressed oops being used" />
 874     <value type="BYTES64" field="objectAlignment" label="Object Alignment" description="Object alignment (in bytes) on the heap" />
 875     <value type="UBYTE" field="heapAddressBits" label="Heap Address Size" description="Heap Address Size (in bits)" />
 876   </event>
 877 
 878   <event id="YoungGenerationConfiguration" path="vm/gc/configuration/young_generation" label="Young Generation Configuration"
 879          description="The configuration of the young generation of the garbage collected heap" is_requestable="true" is_constant="true">
 880     <value type="BYTES64" field="minSize" label="Minimum Young Generation Size" />
 881     <value type="BYTES64" field="maxSize" label="Maximum Young Generation Size" />
 882     <value type="UINT" field="newRatio" label="New Ratio" description="The size of the young generation relative to the tenured generation" />
 883   </event>
 884 
 885   <event id="ThreadCPULoad" path="os/processor/thread_cpu_load" label="Thread CPU Load"
 886          is_requestable="true" has_thread="true">
 887     <value type="PERCENTAGE" field="user" label="User Mode CPU Load" description="User mode thread CPU load"/>
 888     <value type="PERCENTAGE" field="system" label="System Mode CPU Load" description="System mode thread CPU load"/>
 889   </event>
 890 
 891   <event id="ThreadAllocationStatistics" path="java/statistics/thread_allocation" label="Thread Allocation Statistics"
 892          is_requestable="true">
 893     <value type="BYTES64" field="allocated" label="Allocated" description="Approximate number of bytes allocated since thread start"/>
 894     <value type="BYTES64" field="stackUsed" label="StackUsed" description="The number of bytes used(Virtual Memory) by thread stack"/>
 895     <value type="BYTES64" field="stackPhysicalUsed" label="StackPhysicalUsed" description="The number of bytes used(Physical Memory) by thread stack"/>
 896     <value type="THREAD" field="thread" label="Thread"/>
 897   </event>
 898 
 899   <event id="InitialSystemProperty" path="vm/initial_system_property" label="Initial System Property"
 900          description="System Property at JVM start" is_requestable="true" is_constant="true">
 901     <value type="STRING" field="key" label="Key"/>
 902     <value type="STRING" field="value" label="Value"/>
 903   </event>
 904 
 905   <event id="JavaThreadStatistics" path="java/statistics/threads" label="Java Thread Statistics"
 906          is_requestable="true">
 907     <value type="LONG" field="activeCount" label="Active Threads"  description="Number of live active threads including both daemon and non-daemon threads"/>
 908     <value type="LONG" field="daemonCount" label="Daemon Threads" description="Number of live daemon threads"/>
 909     <value type="LONG" field="accumulatedCount" label="Accumulated Threads" description="Number of threads created and also started since JVM start"/>
 910     <value type="LONG" field="peakCount" label="Peak Threads" description="Peak live thread count since JVM start or when peak count was reset"/>
 911   </event>
 912 
 913   <event id="ClassLoadingStatistics" path="java/statistics/class_loading" label="Class Loading Statistics"
 914          is_requestable="true">
 915     <value type="LONG" field="loadedClassCount" label="Loaded Class Count"  description="Number of classes loaded since JVM start"/>
 916     <value type="LONG" field="unloadedClassCount" label="Unloaded Class Count" description="Number of classes unloaded since JVM start"/>
 917   </event>
 918 
 919   <event id="ClassLoaderStatistics" path="java/statistics/class_loaders" label="Class Loader Statistics"
 920          is_requestable="true">
 921     <value type="CLASSLOADER" field="classLoader" label="Class Loader"/>
 922     <value type="CLASSLOADER" field="parentClassLoader" label="Parent Class Loader"/>
 923     <value type="ADDRESS" field="classLoaderData" label="ClassLoaderData pointer" description="Pointer to the ClassLoaderData structure in the JVM"/>
 924     <value type="LONG" field="classCount" label="Classes" description="Number of loaded classes"/>
 925     <value type="BYTES64" field="chunkSize" label="Total Chunk Size" description="Total size of all allocated metaspace chunks (each chunk has several blocks)"/>
 926     <value type="BYTES64" field="blockSize" label="Total Block Size" description="Total size of all allocated metaspace blocks (each chunk has several blocks)"/>
 927     <value type="LONG" field="anonymousClassCount" label="Unsafe Anonymous Classes" description="Number of loaded classes to support invokedynamic"/>
 928     <value type="BYTES64" field="anonymousChunkSize" label="Total Unsafe Anonymous Classes Chunk Size" description="Total size of all allocated metaspace chunks for anonymous classes (each chunk has several blocks)"/>
 929     <value type="BYTES64" field="anonymousBlockSize" label="Total Unsafe Anonymous Classes Block Size" description="Total size of all allocated metaspace blocks for anonymous classes (each chunk has several blocks)"/>
 930   </event>
 931 
 932   <event id="CompilerStatistics" path="vm/compiler/stats" label="Compiler Statistics"
 933          has_thread="false" is_requestable="true" is_constant="false" is_instant="true">
 934     <value type="INTEGER" field="compileCount" label="Compiled Methods"/>
 935     <value type="INTEGER" field="bailoutCount" label="Bailouts"/>
 936     <value type="INTEGER" field="invalidatedCount" label="Invalidated Compilations"/>
 937     <value type="INTEGER" field="osrCompileCount" label="OSR Compilations"/>
 938     <value type="INTEGER" field="standardCompileCount" label="Standard Compilations"/>
 939     <value type="BYTES" field="osrBytesCompiled" label="OSR Bytes Compiled"/>
 940     <value type="BYTES" field="standardBytesCompiled" label="Standard Bytes Compiled"/>
 941     <value type="BYTES" field="nmetodsSize" label="Compilation Resulting Size"/>
 942     <value type="BYTES" field="nmetodCodeSize" label="Compilation Resulting Code Size"/>
 943     <value type="MILLIS" field="peakTimeSpent" label="Peak Time"/>
 944     <value type="MILLIS" field="totalTimeSpent" label="Total time"/>
 945   </event>
 946 
 947   <event id="CompilerConfiguration" path="vm/compiler/config" label="Compiler Configuration"
 948          has_thread="false" is_requestable="true" is_constant="true" is_instant="true">
 949     <value type="INTEGER" field="threadCount" label="Thread Count"/>
 950     <value type="BOOLEAN" field="tieredCompilation" label="Tiered Compilation"/>
 951   </event>
 952 
 953   <event id="CodeSweeperConfiguration" path="vm/code_sweeper/config" label="Code Sweeper Configuration"
 954          has_thread="false" is_requestable="true" is_constant="true" is_instant="true">
 955     <value type="BOOLEAN" field="sweeperEnabled" label="Code Sweeper Enabled"/>
 956     <value type="BOOLEAN" field="flushingEnabled" label="Code Cache Flushing Enabled"/>
 957   </event>
 958 
 959 </events>