1 <?xml version="1.0" encoding="utf-8"?> 2 <!-- 3 Copyright (c) 2012, 2016, 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="ReservedStackActivation" path="vm/runtime/reserved_stack_activation" label="Reserved Stack Activation" 108 description="Activation of Reserved Stack Area caused by stack overflow with ReservedStackAccess annotated method in call stack" 109 has_thread="true" has_stacktrace="true" is_instant="true"> 110 <value type="METHOD" field="method" label="Java Method"/> 111 </event> 112 113 <event id="ClassLoad" path="vm/class/load" label="Class Load" 114 has_thread="true" has_stacktrace="true" is_instant="false"> 115 <value type="CLASS" field="loadedClass" label="Loaded Class"/> 116 <value type="CLASS" field="definingClassLoader" label="Defining Class Loader"/> 117 <value type="CLASS" field="initiatingClassLoader" label="Initiating Class Loader"/> 118 </event> 119 120 <event id="ClassDefine" path="vm/class/define" label="Class Define" 121 has_thread="true" has_stacktrace="true" is_instant="true"> 122 <value type="CLASS" field="definedClass" label="Defined Class"/> 123 <value type="CLASS" field="definingClassLoader" label="Defining Class Loader"/> 124 </event> 125 126 <event id="ClassUnload" path="vm/class/unload" label="Class Unload" 127 has_thread="true" is_instant="true"> 128 <value type="CLASS" field="unloadedClass" label="Unloaded Class"/> 129 <value type="CLASS" field="definingClassLoader" label="Defining Class Loader"/> 130 </event> 131 132 <event id="IntFlagChanged" path="vm/flag/int_changed" label="Int Flag Changed" 133 is_instant="true"> 134 <value type="STRING" field="name" label="Name" /> 135 <value type="INTEGER" field="oldValue" label="Old Value" /> 136 <value type="INTEGER" field="newValue" label="New Value" /> 137 <value type="FLAGVALUEORIGIN" field="origin" label="Origin" /> 138 </event> 139 140 <event id="UnsignedIntFlagChanged" path="vm/flag/uint_changed" label="Unsigned Int Flag Changed" 141 is_instant="true"> 142 <value type="STRING" field="name" label="Name" /> 143 <value type="UINT" field="oldValue" label="Old Value" /> 144 <value type="UINT" field="newValue" label="New Value" /> 145 <value type="FLAGVALUEORIGIN" field="origin" label="Origin" /> 146 </event> 147 148 <event id="LongFlagChanged" path="vm/flag/long_changed" label="Long Flag Changed" 149 is_instant="true"> 150 <value type="STRING" field="name" label="Name" /> 151 <value type="LONG" field="oldValue" label="Old Value" /> 152 <value type="LONG" field="newValue" label="New Value" /> 153 <value type="FLAGVALUEORIGIN" field="origin" label="Origin" /> 154 </event> 155 156 <event id="UnsignedLongFlagChanged" path="vm/flag/ulong_changed" label="Unsigned Long Flag Changed" 157 is_instant="true"> 158 <value type="STRING" field="name" label="Name" /> 159 <value type="ULONG" field="oldValue" label="Old Value" /> 160 <value type="ULONG" field="newValue" label="New Value" /> 161 <value type="FLAGVALUEORIGIN" field="origin" label="Origin" /> 162 </event> 163 164 <event id="DoubleFlagChanged" path="vm/flag/double_changed" label="Double Flag Changed" 165 is_instant="true"> 166 <value type="STRING" field="name" label="Name" /> 167 <value type="DOUBLE" field="oldValue" label="Old Value" /> 168 <value type="DOUBLE" field="newValue" label="New Value" /> 169 <value type="FLAGVALUEORIGIN" field="origin" label="Origin" /> 170 </event> 171 172 <event id="BooleanFlagChanged" path="vm/flag/boolean_changed" label="Boolean Flag Changed" 173 is_instant="true"> 174 <value type="STRING" field="name" label="Name" /> 175 <value type="BOOLEAN" field="oldValue" label="Old Value" /> 176 <value type="BOOLEAN" field="newValue" label="New Value" /> 177 <value type="FLAGVALUEORIGIN" field="origin" label="Origin" /> 178 </event> 179 180 <event id="StringFlagChanged" path="vm/flag/string_changed" label="String Flag Changed" 181 is_instant="true"> 182 <value type="STRING" field="name" label="Name" /> 183 <value type="STRING" field="oldValue" label="Old Value" /> 184 <value type="STRING" field="newValue" label="New Value" /> 185 <value type="FLAGVALUEORIGIN" field="origin" label="Origin" /> 186 </event> 187 188 <struct id="VirtualSpace"> 189 <value type="ADDRESS" field="start" label="Start Address" description="Start address of the virtual space" /> 190 <value type="ADDRESS" field="committedEnd" label="Committed End Address" description="End address of the committed memory for the virtual space" /> 191 <value type="BYTES64" field="committedSize" label="Committed Size" description="Size of the committed memory for the virtual space" /> 192 <value type="ADDRESS" field="reservedEnd" label="Reserved End Address" description="End address of the reserved memory for the virtual space" /> 193 <value type="BYTES64" field="reservedSize" label="Reserved Size" description="Size of the reserved memory for the virtual space" /> 194 </struct> 195 196 <struct id="ObjectSpace"> 197 <value type="ADDRESS" field="start" label="Start Address" description="Start address of the space" /> 198 <value type="ADDRESS" field="end" label="End Address" description="End address of the space" /> 199 <value type="BYTES64" field="used" label="Used" description="Bytes allocated by objects in the space" /> 200 <value type="BYTES64" field="size" label="Size" description="Size of the space" /> 201 </struct> 202 203 <event id="GCHeapSummary" path="vm/gc/heap/summary" label="Heap Summary" is_instant="true"> 204 <value type="UINT" field="gcId" label="GC Identifier" relation="GcId"/> 205 <value type="GCWHEN" field="when" label="When" /> 206 <structvalue type="VirtualSpace" field="heapSpace" label="Heap Space"/> 207 <value type="BYTES64" field="heapUsed" label="Heap Used" description="Bytes allocated by objects in the heap"/> 208 </event> 209 210 <struct id="MetaspaceSizes"> 211 <value type="BYTES64" field="committed" label="Committed" description="Committed memory for this space" /> 212 <value type="BYTES64" field="used" label="Used" description="Bytes allocated by objects in the space" /> 213 <value type="BYTES64" field="reserved" label="Reserved" description="Reserved memory for this space" /> 214 </struct> 215 216 <event id="MetaspaceSummary" path="vm/gc/heap/metaspace_summary" label="Metaspace Summary" is_instant="true"> 217 <value type="UINT" field="gcId" label="GC Identifier" relation="GcId"/> 218 <value type="GCWHEN" field="when" label="When" /> 219 <value type="BYTES64" field="gcThreshold" label="GC Threshold" /> 220 <structvalue type="MetaspaceSizes" field="metaspace" label="Total"/> 221 <structvalue type="MetaspaceSizes" field="dataSpace" label="Data"/> 222 <structvalue type="MetaspaceSizes" field="classSpace" label="Class"/> 223 </event> 224 225 <event id="MetaspaceGCThreshold" path="vm/gc/metaspace/gc_threshold" label="Metaspace GC Threshold" is_instant="true"> 226 <value type="BYTES64" field="oldValue" label="Old Value" /> 227 <value type="BYTES64" field="newValue" label="New Value" /> 228 <value type="GCTHRESHOLDUPDATER" field="updater" label="Updater" /> 229 </event> 230 231 <event id="MetaspaceAllocationFailure" path="vm/gc/metaspace/allocation_failure" label="Metaspace Allocation Failure" is_instant="true" has_stacktrace="true"> 232 <value type="CLASS" field="classLoader" label="Class Loader" /> 233 <value type="BOOLEAN" field="anonymousClassLoader" label="Anonymous Class Loader" /> 234 <value type="BYTES64" field="size" label="Size" /> 235 <value type="METADATATYPE" field="metadataType" label="Metadata Type" /> 236 <value type="METASPACEOBJTYPE" field="metaspaceObjectType" label="Metaspace Object Type" /> 237 </event> 238 239 <event id="MetaspaceOOM" path="vm/gc/metaspace/out_of_memory" label="Metaspace Out of Memory" is_instant="true" has_stacktrace="true"> 240 <value type="CLASS" field="classLoader" label="Class Loader" /> 241 <value type="BOOLEAN" field="anonymousClassLoader" label="Anonymous Class Loader" /> 242 <value type="BYTES64" field="size" label="Size" /> 243 <value type="METADATATYPE" field="metadataType" label="Metadata Type" /> 244 <value type="METASPACEOBJTYPE" field="metaspaceObjectType" label="Metaspace Object Type" /> 245 </event> 246 247 <event id="MetaspaceChunkFreeListSummary" path="vm/gc/metaspace/chunk_free_list_summary" label="Metaspace Chunk Free List Summary" is_instant="true"> 248 <value type="UINT" field="gcId" label="GC Identifier" relation="GcId"/> 249 <value type="GCWHEN" field="when" label="When" /> 250 <value type="METADATATYPE" field="metadataType" label="Metadata Type" /> 251 <value type="ULONG" field="specializedChunks" label="Specialized Chunks" /> 252 <value type="BYTES64" field="specializedChunksTotalSize" label="Specialized Chunks Total Size" /> 253 <value type="ULONG" field="smallChunks" label="Small Chunks" /> 254 <value type="BYTES64" field="smallChunksTotalSize" label="Small Chunks Total Size" /> 255 <value type="ULONG" field="mediumChunks" label="Medium Chunks" /> 256 <value type="BYTES64" field="mediumChunksTotalSize" label="Medium Chunks Total Size" /> 257 <value type="ULONG" field="humongousChunks" label="Humongous Chunks" /> 258 <value type="BYTES64" field="humongousChunksTotalSize" label="Humongous Chunks Total Size" /> 259 </event> 260 261 <event id="PSHeapSummary" path="vm/gc/heap/ps_summary" label="Parallel Scavenge Heap Summary" is_instant="true"> 262 <value type="UINT" field="gcId" label="GC Identifier" relation="GcId"/> 263 <value type="GCWHEN" field="when" label="When" /> 264 265 <structvalue type="VirtualSpace" field="oldSpace" label="Old Space"/> 266 <structvalue type="ObjectSpace" field="oldObjectSpace" label="Old Object Space"/> 267 268 <structvalue type="VirtualSpace" field="youngSpace" label="Young Space"/> 269 <structvalue type="ObjectSpace" field="edenSpace" label="Eden Space"/> 270 <structvalue type="ObjectSpace" field="fromSpace" label="From Space"/> 271 <structvalue type="ObjectSpace" field="toSpace" label="To Space"/> 272 </event> 273 274 <event id="G1HeapSummary" path="vm/gc/heap/g1_summary" label="G1 Heap Summary" is_instant="true"> 275 <value type="UINT" field="gcId" label="GC Identifier" relation="GcId"/> 276 <value type="GCWHEN" field="when" label="When" /> 277 278 <value type="BYTES64" field="edenUsedSize" label="Eden Used Size" /> 279 <value type="BYTES64" field="edenTotalSize" label="Eden Total Size" /> 280 <value type="BYTES64" field="survivorUsedSize" label="Survivor Used Size" /> 281 <value type="UINT" field="numberOfRegions" label="Number of Regions" /> 282 </event> 283 284 <event id="GarbageCollection" path="vm/gc/collector/garbage_collection" label="Garbage Collection" 285 description="Garbage collection performed by the JVM"> 286 <value type="UINT" field="gcId" label="GC Identifier" relation="GcId" /> 287 <value type="GCNAME" field="name" label="Name" description="The name of the Garbage Collector" /> 288 <value type="GCCAUSE" field="cause" label="Cause" description="The reason for triggering this Garbage Collection" /> 289 <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" /> 290 <value type="TICKSPAN" field="longestPause" label="Longest Pause" description="Longest individual pause during the garbage collection" /> 291 </event> 292 293 <event id="ParallelOldGarbageCollection" path="vm/gc/collector/parold_garbage_collection" label="Parallel Old Garbage Collection" 294 description="Extra information specific to Parallel Old Garbage Collections"> 295 <value type="UINT" field="gcId" label="GC Identifier" relation="GcId" /> 296 <value type="ADDRESS" field="densePrefix" label="Dense Prefix" description="The address of the dense prefix, used when compacting" /> 297 </event> 298 299 <event id="YoungGarbageCollection" path="vm/gc/collector/young_garbage_collection" label="Young Garbage Collection" 300 description="Extra information specific to Young Garbage Collections"> 301 <value type="UINT" field="gcId" label="GC Identifier" relation="GcId" /> 302 <value type="UINT" field="tenuringThreshold" label="Tenuring Threshold" /> 303 </event> 304 305 <event id="OldGarbageCollection" path="vm/gc/collector/old_garbage_collection" label="Old Garbage Collection" 306 description="Extra information specific to Old Garbage Collections"> 307 <value type="UINT" field="gcId" label="GC Identifier" relation="GcId"/> 308 </event> 309 310 <event id="G1GarbageCollection" path="vm/gc/collector/g1_garbage_collection" label="G1 Garbage Collection" 311 description="Extra information specific to G1 Garbage Collections"> 312 <value type="UINT" field="gcId" label="GC Identifier" relation="GcId"/> 313 <value type="G1YCTYPE" field="type" label="Type" /> 314 </event> 315 316 <event id="G1MMU" path="vm/gc/detailed/g1_mmu_info" label="G1 MMU Information" is_instant="true"> 317 <value type="UINT" field="gcId" label="GC Identifier" relation="GcId"/> 318 <value type="MILLIS" field="timeSlice" label="Time Slice" description="Time slice used to calculate MMU"/> 319 <value type="MILLIS" field="gcTime" label="GC Time" description="Time stopped because of GC during last time slice"/> 320 <value type="MILLIS" field="pauseTarget" label="Pause Target" description="Max time allowed to be spent on GC during last time slice"/> 321 </event> 322 323 <event id="EvacuationInformation" path="vm/gc/detailed/evacuation_info" label="Evacuation Information" is_instant="true"> 324 <value type="UINT" field="gcId" label="GC Identifier" relation="GcId"/> 325 <value type="UINT" field="cSetRegions" label="Collection Set Regions"/> 326 <value type="BYTES64" field="cSetUsedBefore" label="Collection Set Before" description="Memory usage before GC in the collection set regions"/> 327 <value type="BYTES64" field="cSetUsedAfter" label="Collection Set After" description="Memory usage after GC in the collection set regions"/> 328 <value type="UINT" field="allocationRegions" label="Allocation Regions" description="Regions chosen as allocation regions during evacuation (includes survivors and old space regions)"/> 329 <value type="BYTES64" field="allocationRegionsUsedBefore" label="Allocation Regions Before" description="Memory usage before GC in allocation regions"/> 330 <value type="BYTES64" field="allocationRegionsUsedAfter" label="Allocation Regions After" description="Memory usage after GC in allocation regions"/> 331 <value type="BYTES64" field="bytesCopied" label="Bytes Copied"/> 332 <value type="UINT" field="regionsFreed" label="Regions Freed"/> 333 </event> 334 335 <event id="GCReferenceStatistics" path="vm/gc/reference/statistics" 336 label="GC Reference Statistics" is_instant="true" 337 description="Total count of processed references during GC"> 338 <value type="UINT" field="gcId" label="GC Identifier" relation="GcId"/> 339 <value type="REFERENCETYPE" field="type" label="Type" /> 340 <value type="ULONG" field="count" label="Total Count" /> 341 </event> 342 343 <struct id="CopyFailed"> 344 <value type="ULONG" field="objectCount" label="Object Count"/> 345 <value type="BYTES64" field="firstSize" label="First Failed Object Size"/> 346 <value type="BYTES64" field="smallestSize" label="Smallest Failed Object Size"/> 347 <value type="BYTES64" field="totalSize" label="Total Object Size"/> 348 </struct> 349 350 <event id="ObjectCountAfterGC" path="vm/gc/detailed/object_count_after_gc" is_instant="true" label="Object Count after GC"> 351 <value type="UINT" field="gcId" label="GC Identifier" relation="GcId" /> 352 <value type="CLASS" field="objectClass" label="Object Class" /> 353 <value type="LONG" field="count" label="Count" /> 354 <value type="BYTES64" field="totalSize" label="Total Size" /> 355 </event> 356 357 <struct id="G1EvacuationStatistics"> 358 <value type="UINT" field="gcId" label="GC Identifier" relation="GcId"/> 359 <value type="BYTES64" field="allocated" label="Allocated" description="Total memory allocated by PLABs"/> 360 <value type="BYTES64" field="wasted" label="Wasted" description="Total memory wasted within PLABs due to alignment or refill"/> 361 <value type="BYTES64" field="used" label="Used" description="Total memory occupied by objects within PLABs"/> 362 <value type="BYTES64" field="undoWaste" label="Undo Wasted" description="Total memory wasted due to allocation undo within PLABs"/> 363 <value type="BYTES64" field="regionEndWaste" label="Region End Wasted" description="Total memory wasted at the end of regions due to refill"/> 364 <value type="UINT" field="regionsRefilled" label="Region Refills" description="Total memory wasted at the end of regions due to refill"/> 365 <value type="BYTES64" field="directAllocated" label="Allocated (direct)" description="Total memory allocated using direct allocation outside of PLABs"/> 366 <value type="BYTES64" field="failureUsed" label="Used (failure)" description="Total memory occupied by objects in regions where evacuation failed"/> 367 <value type="BYTES64" field="failureWaste" label="Wasted (failure)" description="Total memory left unused in regions where evacuation failed"/> 368 </struct> 369 370 <event id="G1EvacuationYoungStatistics" path="vm/gc/detailed/g1_evac_young_stats" label="G1 Evacuation Statistics for Young" 371 is_instant="true" description="Memory related evacuation statistics during GC for the young generation"> 372 <structvalue type="G1EvacuationStatistics" field="statistics" label="Evacuation Statistics"/> 373 </event> 374 375 <event id="G1EvacuationOldStatistics" path="vm/gc/detailed/g1_evac_old_stats" label="G1 Evacuation Memory Statistics for Old" 376 is_instant="true" description="Memory related evacuation statistics during GC for the old generation"> 377 <structvalue type="G1EvacuationStatistics" field="statistics" label="Evacuation Statistics"/> 378 </event> 379 380 <event id="G1BasicIHOP" path="vm/gc/detailed/g1_basic_ihop_status" label="G1 Basic IHOP Statistics" 381 is_instant="true" description="Basic statistics related to current IHOP calculation"> 382 <value type="UINT" field="gcId" label="GC Identifier" relation="GcId"/> 383 <value type="BYTES64" field="threshold" label="Current IHOP Threshold" description="Current IHOP threshold"/> 384 <value type="PERCENTAGE" field="thresholdPercentage" label="Current IHOP Threshold" description="Current IHOP threshold in percent of old generation"/> 385 <value type="BYTES64" field="targetOccupancy" label="Target Occupancy" description="Target old generation occupancy to reach at the start of mixed GC"/> 386 <value type="BYTES64" field="currentOccupancy" label="Current Occupancy" description="Current old generation occupancy"/> 387 <value type="BYTES64" field="recentMutatorAllocationSize" label="Recent Mutator Allocation Size" description="Mutator allocation during mutator operation in the most recent interval"/> 388 <value type="MILLIS" field="recentMutatorDuration" label="Recent Mutator Duration" description="Time the mutator ran in the most recent interval"/> 389 <value type="DOUBLE" field="recentAllocationRate" label="Recent Allocation Rate" description="Allocation rate of the mutator in the most recent interval in bytes/second"/> 390 <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"/> 391 </event> 392 393 <event id="G1AdaptiveIHOP" path="vm/gc/detailed/g1_adaptive_ihop_status" label="G1 Adaptive IHOP Statistics" 394 is_instant="true" description="Statistics related to current adaptive IHOP calculation"> 395 <value type="UINT" field="gcId" label="GC Identifier" relation="GcId"/> 396 <value type="BYTES64" field="threshold" label="Threshold" description="Current IHOP Threshold"/> 397 <value type="PERCENTAGE" field="thresholdPercentage" label="Threshold" description="Current IHOP threshold in percent of the internal target occupancy"/> 398 <value type="BYTES64" field="ihopTargetOccupancy" label="IHOP Target Occupancy" description="Internal target old generation occupancy to reach at the start of mixed GC"/> 399 <value type="BYTES64" field="currentOccupancy" label="Current Occupancy" description="Current old generation occupancy"/> 400 <value type="BYTES64" field="additionalBufferSize" label="Additional Buffer" description="Additional buffer size" experimental="true"/> 401 <value type="DOUBLE" field="predictedAllocationRate" label="Predicted Allocation Rate" description="Current predicted allocation rate for the mutator in bytes/second"/> 402 <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"/> 403 <value type="BOOLEAN" field="predictionActive" label="Prediction Active" description="Indicates whether the adaptive IHOP prediction is active"/> 404 </event> 405 406 <!-- Promotion events, Supported GCs are Parallel Scavange, G1 and CMS with Parallel New. --> 407 <event id="PromoteObjectInNewPLAB" path="vm/gc/detailed/object_promotion_in_new_PLAB" label="Promotion in new PLAB" 408 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." 409 has_thread="true" has_stacktrace="false" is_instant="true"> 410 <value type="UINT" field="gcId" label="GC Identifier" relation="GcId" description="Identifier signifying GC during which the object was promoted"/> 411 <value type="CLASS" field="objectClass" label="Object Class" description="Class of promoted object"/> 412 <value type="BYTES64" field="objectSize" label="Object Size" description="Size of promoted object"/> 413 <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."/> 414 <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"/> 415 <value type="BYTES64" field="plabSize" label="PLAB Size" description="Size of the allocated PLAB to which the object was copied"/> 416 </event> 417 418 <event id="PromoteObjectOutsidePLAB" path="vm/gc/detailed/object_promotion_outside_PLAB" label="Promotion outside PLAB" 419 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." 420 has_thread="true" has_stacktrace="false" is_instant="true"> 421 <value type="UINT" field="gcId" label="GC Identifier" relation="GcId" description="Identifier signifying GC during which the object was promoted"/> 422 <value type="CLASS" field="objectClass" label="Object Class" description="Class of promoted object"/> 423 <value type="BYTES64" field="objectSize" label="Object Size" description="Size of promoted object"/> 424 <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."/> 425 <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"/> 426 </event> 427 428 <event id="PromotionFailed" path="vm/gc/detailed/promotion_failed" label="Promotion Failed" is_instant="true" 429 description="Promotion of an object failed"> 430 <value type="UINT" field="gcId" label="GC Identifier" relation="GcId"/> 431 <structvalue type="CopyFailed" field="promotionFailed" label="Promotion Failed Data"/> 432 <value type="THREAD" field="thread" label="Running thread"/> 433 </event> 434 435 <event id="EvacuationFailed" path="vm/gc/detailed/evacuation_failed" label="Evacuation Failed" is_instant="true" 436 description="Evacuation of an object failed"> 437 <value type="UINT" field="gcId" label="GC Identifier" relation="GcId"/> 438 <structvalue type="CopyFailed" field="evacuationFailed" label="Evacuation Failed Data"/> 439 </event> 440 441 <event id="ConcurrentModeFailure" path="vm/gc/detailed/concurrent_mode_failure" label="Concurrent Mode Failure" 442 is_instant="true" description="Concurrent Mode failed"> 443 <value type="UINT" field="gcId" label="GC Identifier" relation="GcId"/> 444 </event> 445 446 <event id="GCPhasePause" path="vm/gc/phases/pause" label="GC Phase Pause" has_thread="true"> 447 <value type="UINT" field="gcId" label="GC Identifier" relation="GcId"/> 448 <value type="STRING" field="name" label="Name" /> 449 </event> 450 451 <event id="GCPhasePauseLevel1" path="vm/gc/phases/pause_level_1" label="GC Phase Pause Level 1" has_thread="true"> 452 <value type="UINT" field="gcId" label="GC Identifier" relation="GcId"/> 453 <value type="STRING" field="name" label="Name" /> 454 </event> 455 456 <event id="GCPhasePauseLevel2" path="vm/gc/phases/pause_level_2" label="GC Phase Pause Level 2" has_thread="true"> 457 <value type="UINT" field="gcId" label="GC Identifier" relation="GcId"/> 458 <value type="STRING" field="name" label="Name" /> 459 </event> 460 461 <event id="GCPhasePauseLevel3" path="vm/gc/phases/pause_level_3" label="GC Phase Pause Level 3" has_thread="true"> 462 <value type="UINT" field="gcId" label="GC Identifier" relation="GcId"/> 463 <value type="STRING" field="name" label="Name" /> 464 </event> 465 466 <event id="GCPhaseConcurrent" path="vm/gc/phases/concurrent" label="GC Phase Concurrent" has_thread="true"> 467 <value type="UINT" field="gcId" label="GC Identifier" relation="GcId"/> 468 <value type="STRING" field="name" label="Name" /> 469 </event> 470 471 <event id="AllocationRequiringGC" path="vm/gc/detailed/allocation_requiring_gc" label="Allocation Requiring GC" 472 has_thread="true" has_stacktrace="true" is_instant="true"> 473 <value type="UINT" field="gcId" label="Pending GC Identifier" relation="GcId" /> 474 <value type="BYTES64" field="size" label="Allocation Size" /> 475 </event> 476 477 <event id="TenuringDistribution" path="vm/gc/detailed/tenuring_distribution" label="Tenuring Distribution" 478 is_instant="true"> 479 <value type="UINT" field="gcId" label="GC Identifier" relation="GcId"/> 480 <value type="UINT" field="age" label="Age" /> 481 <value type="BYTES64" field="size" label="Size" /> 482 </event> 483 484 <event id="G1HeapRegionTypeChange" path="vm/gc/detailed/g1_heap_region_type_change" label="G1 Heap Region Type Change" 485 description="Information about a G1 heap region type change" is_instant="true"> 486 <value type="UINT" field="index" label="Index" /> 487 <value type="G1HEAPREGIONTYPE" field="from" label="From" /> 488 <value type="G1HEAPREGIONTYPE" field="to" label="To" /> 489 <value type="ADDRESS" field="start" label="Start" /> 490 <value type="BYTES64" field="used" label="Used" /> 491 <value type="UINT" field="allocationContext" label="Allocation Context" /> 492 </event> 493 494 <!-- Compiler events --> 495 496 <event id="Compilation" path="vm/compiler/compilation" label="Compilation" 497 has_thread="true" is_requestable="false" is_constant="false"> 498 <value type="METHOD" field="method" label="Java Method"/> 499 <value type="UINT" field="compileId" label="Compilation Identifier" relation="CompileId"/> 500 <value type="USHORT" field="compileLevel" label="Compilation Level"/> 501 <value type="BOOLEAN" field="succeded" label="Succeeded"/> 502 <value type="BOOLEAN" field="isOsr" label="On Stack Replacement"/> 503 <value type="BYTES" field="codeSize" label="Compiled Code Size"/> 504 <value type="BYTES" field="inlinedBytes" label="Inlined Code Size"/> 505 </event> 506 507 <event id="CompilerPhase" path="vm/compiler/phase" label="Compiler Phase" 508 has_thread="true" is_requestable="false" is_constant="false"> 509 <value type="COMPILERPHASETYPE" field="phase" label="Compile Phase"/> 510 <value type="UINT" field="compileId" label="Compilation Identifier" relation="CompileId"/> 511 <value type="USHORT" field="phaseLevel" label="Phase Level"/> 512 </event> 513 514 <event id="CompilationFailure" path="vm/compiler/failure" label="Compilation Failure" 515 has_thread="true" is_requestable="false" is_constant="false" is_instant="true"> 516 <value type="STRING" field="failureMessage" label="Failure Message"/> 517 <value type="UINT" field="compileId" label="Compilation Identifier" relation="CompileId"/> 518 </event> 519 520 <struct id="CalleeMethod"> 521 <value type="STRING" field="type" label="Class"/> 522 <value type="STRING" field="name" label="Method Name"/> 523 <value type="STRING" field="descriptor" label="Method Descriptor"/> 524 </struct> 525 526 <event id="CompilerInlining" path="vm/compiler/optimization/inlining" label="Method Inlining" 527 has_thread="true" is_instant="true"> 528 <value type="UINT" field="compileId" label="Compilation Identifier" relation="CompileId"/> 529 <value type="METHOD" field="caller" label="Caller Method"/> 530 <structvalue type="CalleeMethod" field="callee" label="Callee Method"/> 531 <value type="BOOLEAN" field="succeeded" label="Succeeded"/> 532 <value type="STRING" field="message" label="Message"/> 533 <value type="INTEGER" field="bci" label="Byte Code Index"/> 534 </event> 535 536 <!-- Code sweeper events --> 537 538 <event id="SweepCodeCache" path="vm/code_sweeper/sweep" label="Sweep Code Cache" 539 has_thread="true" is_requestable="false" is_constant="false"> 540 <value type="INTEGER" field="sweepId" label="Sweep Identifier" relation="SweepId"/> 541 <value type="UINT" field="sweptCount" label="Methods Swept"/> 542 <value type="UINT" field="flushedCount" label="Methods Flushed"/> 543 <value type="UINT" field="zombifiedCount" label="Methods Zombified"/> 544 </event> 545 546 <!-- Code cache events --> 547 548 <event id="CodeCacheFull" path="vm/code_cache/full" label="Code Cache Full" 549 has_thread="true" is_requestable="false" is_constant="false" is_instant="true"> 550 <value type="CODEBLOBTYPE" field="codeBlobType" label="Code Heap"/> 551 <value type="ADDRESS" field="startAddress" label="Start Address"/> 552 <value type="ADDRESS" field="commitedTopAddress" label="Commited Top"/> 553 <value type="ADDRESS" field="reservedTopAddress" label="Reserved Top"/> 554 <value type="INTEGER" field="entryCount" label="Entries"/> 555 <value type="INTEGER" field="methodCount" label="Methods"/> 556 <value type="INTEGER" field="adaptorCount" label="Adaptors"/> 557 <value type="BYTES64" field="unallocatedCapacity" label="Unallocated"/> 558 <value type="INTEGER" field="fullCount" label="Full Count"/> 559 </event> 560 561 <event id="SafepointBegin" path="vm/runtime/safepoint/begin" label="Safepoint Begin" 562 description="Safepointing begin" has_thread="true"> 563 <value type="INTEGER" field="safepointId" label="Safepoint Identifier" relation="SafepointId"/> 564 <value type="INTEGER" field="totalThreadCount" label="Total Threads" description="The total number of threads at the start of safe point"/> 565 <value type="INTEGER" field="jniCriticalThreadCount" label="JNI Critical Threads" description="The number of threads in JNI critical sections"/> 566 </event> 567 568 <event id="SafepointStateSynchronization" path="vm/runtime/safepoint/statesync" label="Safepoint State Synchronization" 569 description="Synchronize run state of threads" has_thread="true"> 570 <value type="INTEGER" field="safepointId" label="Safepoint Identifier" relation="SafepointId"/> 571 <value type="INTEGER" field="initialThreadCount" label="Initial Threads" description="The number of threads running at the beginning of state check"/> 572 <value type="INTEGER" field="runningThreadCount" label="Running Threads" description="The number of threads still running"/> 573 <value type="INTEGER" field="iterations" label="Iterations" description="Number of state check iterations"/> 574 </event> 575 576 <event id="SafepointWaitBlocked" path="vm/runtime/safepoint/waitblocked" label="Safepoint Wait Blocked" 577 description="Safepointing begin waiting on running threads to block" has_thread="true"> 578 <value type="INTEGER" field="safepointId" label="Safepoint Identifier" relation="SafepointId"/> 579 <value type="INTEGER" field="runningThreadCount" label="Running Threads" description="The number running of threads wait for safe point"/> 580 </event> 581 582 <event id="SafepointCleanup" path="vm/runtime/safepoint/cleanup" label="Safepoint Cleanup" 583 description="Safepointing begin running cleanup tasks" has_thread="true"> 584 <value type="INTEGER" field="safepointId" label="Safepoint Identifier" relation="SafepointId"/> 585 </event> 586 587 <event id="SafepointCleanupTask" path="vm/runtime/safepoint/cleanuptask" label="Safepoint Cleanup Task" 588 description="Safepointing begin running cleanup tasks" has_thread="true"> 589 <value type="INTEGER" field="safepointId" label="Safepoint Identifier" relation="SafepointId"/> 590 <value type="STRING" field="name" label="Task Name" description="The task name"/> 591 </event> 592 593 <event id="SafepointEnd" path="vm/runtime/safepoint/end" label="Safepoint End" 594 description="Safepointing end" has_thread="true"> 595 <value type="INTEGER" field="safepointId" label="Safepoint Identifier" relation="SafepointId"/> 596 </event> 597 598 <event id="ExecuteVMOperation" path="vm/runtime/execute_vm_operation" label="VM Operation" 599 description="Execution of a VM Operation" has_thread="true"> 600 <value type="VMOPERATIONTYPE" field="operation" label="Operation" /> 601 <value type="BOOLEAN" field="safepoint" label="At Safepoint" description="If the operation occured at a safepoint"/> 602 <value type="BOOLEAN" field="blocking" label="Caller Blocked" description="If the calling thread was blocked until the operation was complete"/> 603 <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"/> 604 <value type="INTEGER" field="safepointId" label="Safepoint Identifier" description="The safepoint (if any) under which this operation was completed" relation="SafepointId"/> 605 </event> 606 607 <!-- Allocation events --> 608 <event id="ObjectAllocationInNewTLAB" path="java/object_alloc_in_new_TLAB" label="Allocation in new TLAB" 609 description="Allocation in new Thread Local Allocation Buffer" has_thread="true" has_stacktrace="true" is_instant="true"> 610 <value type="CLASS" field="objectClass" label="Object Class" description="Class of allocated object"/> 611 <value type="BYTES64" field="allocationSize" label="Allocation Size"/> 612 <value type="BYTES64" field="tlabSize" label="TLAB Size"/> 613 </event> 614 615 <event id="ObjectAllocationOutsideTLAB" path="java/object_alloc_outside_TLAB" label="Allocation outside TLAB" 616 description="Allocation outside Thread Local Allocation Buffers" has_thread="true" has_stacktrace="true" is_instant="true"> 617 <value type="CLASS" field="objectClass" label="Object Class" description="Class of allocated object"/> 618 <value type="BYTES64" field="allocationSize" label="Allocation Size"/> 619 </event> 620 </events>