Wed, 27 Apr 2016 01:25:04 +0800
Initial load
http://hg.openjdk.java.net/jdk8u/jdk8u/hotspot/
changeset: 6782:28b50d07f6f8
tag: jdk8u25-b17
aoqi@0 | 1 | <?xml version="1.0" encoding="utf-8"?> |
aoqi@0 | 2 | <!-- |
aoqi@0 | 3 | Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved. |
aoqi@0 | 4 | DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
aoqi@0 | 5 | |
aoqi@0 | 6 | This code is free software; you can redistribute it and/or modify it |
aoqi@0 | 7 | under the terms of the GNU General Public License version 2 only, as |
aoqi@0 | 8 | published by the Free Software Foundation. |
aoqi@0 | 9 | |
aoqi@0 | 10 | This code is distributed in the hope that it will be useful, but WITHOUT |
aoqi@0 | 11 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
aoqi@0 | 12 | FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
aoqi@0 | 13 | version 2 for more details (a copy is included in the LICENSE file that |
aoqi@0 | 14 | accompanied this code). |
aoqi@0 | 15 | |
aoqi@0 | 16 | You should have received a copy of the GNU General Public License version |
aoqi@0 | 17 | 2 along with this work; if not, write to the Free Software Foundation, |
aoqi@0 | 18 | Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
aoqi@0 | 19 | |
aoqi@0 | 20 | Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
aoqi@0 | 21 | or visit www.oracle.com if you need additional information or have any |
aoqi@0 | 22 | questions. |
aoqi@0 | 23 | |
aoqi@0 | 24 | --> |
aoqi@0 | 25 | |
aoqi@0 | 26 | |
aoqi@0 | 27 | <!DOCTYPE trace SYSTEM "trace.dtd" [ |
aoqi@0 | 28 | <!ENTITY % xinclude SYSTEM "xinclude.mod"> |
aoqi@0 | 29 | %xinclude; |
aoqi@0 | 30 | ]> |
aoqi@0 | 31 | |
aoqi@0 | 32 | <trace> |
aoqi@0 | 33 | <xi:include href="tracetypes.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/> |
aoqi@0 | 34 | |
aoqi@0 | 35 | <relation_decls> |
aoqi@0 | 36 | <relation_decl id="GC_ID" uri="vm/gc/id"/> |
aoqi@0 | 37 | <relation_decl id="COMP_ID" uri="vm/compiler/id"/> |
aoqi@0 | 38 | <relation_decl id="SWEEP_ID" uri="vm/code_sweeper/id"/> |
aoqi@0 | 39 | <relation_decl id="JAVA_MONITOR_ADDRESS" uri="java/monitor/address"/> |
aoqi@0 | 40 | </relation_decls> |
aoqi@0 | 41 | |
aoqi@0 | 42 | <!-- |
aoqi@0 | 43 | |
aoqi@0 | 44 | Events in the JVM are by default timed (it's more common) |
aoqi@0 | 45 | Perhaps a little strange. Might change. |
aoqi@0 | 46 | |
aoqi@0 | 47 | EVENTS |
aoqi@0 | 48 | |
aoqi@0 | 49 | Declard with the 'event' tag. |
aoqi@0 | 50 | |
aoqi@0 | 51 | <value fields> can be one or more of |
aoqi@0 | 52 | value - a simple primitive or constant type value |
aoqi@0 | 53 | structvalue - value is a sub-struct. This type must be previously defined |
aoqi@0 | 54 | with 'struct' |
aoqi@0 | 55 | All these require you to declare type, field and label of the field. They also accept |
aoqi@0 | 56 | an optional description of the field. If the meaning of the field is not obvious |
aoqi@0 | 57 | from the label you should provide a description. If an event however is not actually |
aoqi@0 | 58 | meant for end-users, you should probably _not_ write descriptions at all, since you |
aoqi@0 | 59 | might just add more concepts the user has no notion of/interest in. |
aoqi@0 | 60 | |
aoqi@0 | 61 | Events should be modeled after what conceptual process you are expressing, _NOT_ |
aoqi@0 | 62 | from whatever data structures you might use inside the JVM for expressing a process. |
aoqi@0 | 63 | |
aoqi@0 | 64 | |
aoqi@0 | 65 | STRUCT |
aoqi@0 | 66 | |
aoqi@0 | 67 | Declared with the 'struct' tag. |
aoqi@0 | 68 | |
aoqi@0 | 69 | Declares a structure type that can be used in other events. |
aoqi@0 | 70 | |
aoqi@0 | 71 | --> |
aoqi@0 | 72 | |
aoqi@0 | 73 | <events> |
aoqi@0 | 74 | <event id="ThreadStart" path="java/thread_start" label="Java Thread Start" |
aoqi@0 | 75 | has_thread="true" is_instant="true"> |
aoqi@0 | 76 | <value type="JAVALANGTHREAD" field="javalangthread" label="Java Thread"/> |
aoqi@0 | 77 | </event> |
aoqi@0 | 78 | |
aoqi@0 | 79 | <event id="ThreadEnd" path="java/thread_end" label="Java Thread End" |
aoqi@0 | 80 | has_thread="true" is_instant="true"> |
aoqi@0 | 81 | <value type="JAVALANGTHREAD" field="javalangthread" label="Java Thread"/> |
aoqi@0 | 82 | </event> |
aoqi@0 | 83 | |
aoqi@0 | 84 | <event id="ThreadSleep" path="java/thread_sleep" label="Java Thread Sleep" |
aoqi@0 | 85 | has_thread="true" has_stacktrace="true" is_instant="false"> |
aoqi@0 | 86 | <value type="MILLIS" field="time" label="Sleep Time"/> |
aoqi@0 | 87 | </event> |
aoqi@0 | 88 | |
aoqi@0 | 89 | <event id="ThreadPark" path="java/thread_park" label="Java Thread Park" |
aoqi@0 | 90 | has_thread="true" has_stacktrace="true" is_instant="false"> |
aoqi@0 | 91 | <value type="CLASS" field="klass" label="Class Parked On"/> |
aoqi@0 | 92 | <value type="MILLIS" field="timeout" label="Park Timeout"/> |
aoqi@0 | 93 | <value type="ADDRESS" field="address" label="Address of Object Parked" relation="JAVA_MONITOR_ADDRESS"/> |
aoqi@0 | 94 | </event> |
aoqi@0 | 95 | |
aoqi@0 | 96 | <event id="JavaMonitorEnter" path="java/monitor_enter" label="Java Monitor Blocked" |
aoqi@0 | 97 | has_thread="true" has_stacktrace="true" is_instant="false"> |
aoqi@0 | 98 | <value type="CLASS" field="klass" label="Monitor Class"/> |
aoqi@0 | 99 | <value type="JAVALANGTHREAD" field="previousOwner" label="Previous Monitor Owner"/> |
aoqi@0 | 100 | <value type="ADDRESS" field="address" label="Monitor Address" relation="JAVA_MONITOR_ADDRESS"/> |
aoqi@0 | 101 | </event> |
aoqi@0 | 102 | |
aoqi@0 | 103 | <event id="JavaMonitorWait" path="java/monitor_wait" label="Java Monitor Wait" description="Waiting on a Java monitor" |
aoqi@0 | 104 | has_thread="true" has_stacktrace="true" is_instant="false"> |
aoqi@0 | 105 | <value type="CLASS" field="klass" label="Monitor Class" description="Class of object waited on"/> |
aoqi@0 | 106 | <value type="OSTHREAD" field="notifier" label="Notifier Thread" description="Notifying Thread"/> |
aoqi@0 | 107 | <value type="MILLIS" field="timeout" label="Timeout" description="Maximum wait time"/> |
aoqi@0 | 108 | <value type="BOOLEAN" field="timedOut" label="Timed Out" description="Wait has been timed out"/> |
aoqi@0 | 109 | <value type="ADDRESS" field="address" label="Monitor Address" description="Address of object waited on" relation="JAVA_MONITOR_ADDRESS"/> |
aoqi@0 | 110 | </event> |
aoqi@0 | 111 | |
aoqi@0 | 112 | <event id="ClassLoad" path="vm/class/load" label="Class Load" |
aoqi@0 | 113 | has_thread="true" has_stacktrace="true" is_instant="false"> |
aoqi@0 | 114 | <value type="CLASS" field="loadedClass" label="Loaded Class"/> |
aoqi@0 | 115 | <value type="CLASS" field="definingClassLoader" label="Defining Class Loader"/> |
aoqi@0 | 116 | <value type="CLASS" field="initiatingClassLoader" label="Initiating Class Loader"/> |
aoqi@0 | 117 | </event> |
aoqi@0 | 118 | |
aoqi@0 | 119 | <event id="ClassUnload" path="vm/class/unload" label="Class Unload" |
aoqi@0 | 120 | has_thread="true" is_instant="true"> |
aoqi@0 | 121 | <value type="CLASS" field="unloadedClass" label="Unloaded Class"/> |
aoqi@0 | 122 | <value type="CLASS" field="definingClassLoader" label="Defining Class Loader"/> |
aoqi@0 | 123 | </event> |
aoqi@0 | 124 | |
aoqi@0 | 125 | <event id="LongFlagChanged" path="vm/flag/long_changed" label="Long Flag Changed" |
aoqi@0 | 126 | is_instant="true"> |
aoqi@0 | 127 | <value type="UTF8" field="name" label="Name" /> |
aoqi@0 | 128 | <value type="LONG" field="old_value" label="Old Value" /> |
aoqi@0 | 129 | <value type="LONG" field="new_value" label="New Value" /> |
aoqi@0 | 130 | <value type="FLAGVALUEORIGIN" field="origin" label="Origin" /> |
aoqi@0 | 131 | </event> |
aoqi@0 | 132 | |
aoqi@0 | 133 | <event id="UnsignedLongFlagChanged" path="vm/flag/ulong_changed" label="Unsigned Long Flag Changed" |
aoqi@0 | 134 | is_instant="true"> |
aoqi@0 | 135 | <value type="UTF8" field="name" label="Name" /> |
aoqi@0 | 136 | <value type="ULONG" field="old_value" label="Old Value" /> |
aoqi@0 | 137 | <value type="ULONG" field="new_value" label="New Value" /> |
aoqi@0 | 138 | <value type="FLAGVALUEORIGIN" field="origin" label="Origin" /> |
aoqi@0 | 139 | </event> |
aoqi@0 | 140 | |
aoqi@0 | 141 | <event id="DoubleFlagChanged" path="vm/flag/double_changed" label="Double Flag Changed" |
aoqi@0 | 142 | is_instant="true"> |
aoqi@0 | 143 | <value type="UTF8" field="name" label="Name" /> |
aoqi@0 | 144 | <value type="DOUBLE" field="old_value" label="Old Value" /> |
aoqi@0 | 145 | <value type="DOUBLE" field="new_value" label="New Value" /> |
aoqi@0 | 146 | <value type="FLAGVALUEORIGIN" field="origin" label="Origin" /> |
aoqi@0 | 147 | </event> |
aoqi@0 | 148 | |
aoqi@0 | 149 | <event id="BooleanFlagChanged" path="vm/flag/boolean_changed" label="Boolean Flag Changed" |
aoqi@0 | 150 | is_instant="true"> |
aoqi@0 | 151 | <value type="UTF8" field="name" label="Name" /> |
aoqi@0 | 152 | <value type="BOOLEAN" field="old_value" label="Old Value" /> |
aoqi@0 | 153 | <value type="BOOLEAN" field="new_value" label="New Value" /> |
aoqi@0 | 154 | <value type="FLAGVALUEORIGIN" field="origin" label="Origin" /> |
aoqi@0 | 155 | </event> |
aoqi@0 | 156 | |
aoqi@0 | 157 | <event id="StringFlagChanged" path="vm/flag/string_changed" label="String Flag Changed" |
aoqi@0 | 158 | is_instant="true"> |
aoqi@0 | 159 | <value type="UTF8" field="name" label="Name" /> |
aoqi@0 | 160 | <value type="UTF8" field="old_value" label="Old Value" /> |
aoqi@0 | 161 | <value type="UTF8" field="new_value" label="New Value" /> |
aoqi@0 | 162 | <value type="FLAGVALUEORIGIN" field="origin" label="Origin" /> |
aoqi@0 | 163 | </event> |
aoqi@0 | 164 | |
aoqi@0 | 165 | <struct id="VirtualSpace"> |
aoqi@0 | 166 | <value type="ADDRESS" field="start" label="Start Address" description="Start address of the virtual space" /> |
aoqi@0 | 167 | <value type="ADDRESS" field="committedEnd" label="Committed End Address" description="End address of the committed memory for the virtual space" /> |
aoqi@0 | 168 | <value type="BYTES64" field="committedSize" label="Committed Size" description="Size of the committed memory for the virtual space" /> |
aoqi@0 | 169 | <value type="ADDRESS" field="reservedEnd" label="Reserved End Address" description="End address of the reserved memory for the virtual space" /> |
aoqi@0 | 170 | <value type="BYTES64" field="reservedSize" label="Reserved Size" description="Size of the reserved memory for the virtual space" /> |
aoqi@0 | 171 | </struct> |
aoqi@0 | 172 | |
aoqi@0 | 173 | <struct id="ObjectSpace"> |
aoqi@0 | 174 | <value type="ADDRESS" field="start" label="Start Address" description="Start address of the space" /> |
aoqi@0 | 175 | <value type="ADDRESS" field="end" label="End Address" description="End address of the space" /> |
aoqi@0 | 176 | <value type="BYTES64" field="used" label="Used" description="Bytes allocated by objects in the space" /> |
aoqi@0 | 177 | <value type="BYTES64" field="size" label="Size" description="Size of the space" /> |
aoqi@0 | 178 | </struct> |
aoqi@0 | 179 | |
aoqi@0 | 180 | <event id="GCHeapSummary" path="vm/gc/heap/summary" label="Heap Summary" is_instant="true"> |
aoqi@0 | 181 | <value type="UINT" field="gcId" label="GC ID" relation="GC_ID"/> |
aoqi@0 | 182 | <value type="GCWHEN" field="when" label="When" /> |
aoqi@0 | 183 | <structvalue type="VirtualSpace" field="heapSpace" label="Heap Space"/> |
aoqi@0 | 184 | <value type="BYTES64" field="heapUsed" label="Heap Used" description="Bytes allocated by objects in the heap"/> |
aoqi@0 | 185 | </event> |
aoqi@0 | 186 | |
aoqi@0 | 187 | <struct id="MetaspaceSizes"> |
aoqi@0 | 188 | <value type="BYTES64" field="committed" label="Committed" description="Committed memory for this space" /> |
aoqi@0 | 189 | <value type="BYTES64" field="used" label="Used" description="Bytes allocated by objects in the space" /> |
aoqi@0 | 190 | <value type="BYTES64" field="reserved" label="Reserved" description="Reserved memory for this space" /> |
aoqi@0 | 191 | </struct> |
aoqi@0 | 192 | |
aoqi@0 | 193 | <event id="MetaspaceSummary" path="vm/gc/heap/metaspace_summary" label="Metaspace Summary" is_instant="true"> |
aoqi@0 | 194 | <value type="UINT" field="gcId" label="GC ID" relation="GC_ID"/> |
aoqi@0 | 195 | <value type="GCWHEN" field="when" label="When" /> |
aoqi@0 | 196 | <value type="BYTES64" field="gcThreshold" label="GC Threshold" /> |
aoqi@0 | 197 | <structvalue type="MetaspaceSizes" field="metaspace" label="Total"/> |
aoqi@0 | 198 | <structvalue type="MetaspaceSizes" field="dataSpace" label="Data"/> |
aoqi@0 | 199 | <structvalue type="MetaspaceSizes" field="classSpace" label="Class"/> |
aoqi@0 | 200 | </event> |
aoqi@0 | 201 | |
aoqi@0 | 202 | <event id="MetaspaceGCThreshold" path="vm/gc/metaspace/gc_threshold" label="Metaspace GC Threshold" is_instant="true"> |
aoqi@0 | 203 | <value type="BYTES64" field="oldValue" label="Old Value" /> |
aoqi@0 | 204 | <value type="BYTES64" field="newValue" label="New Value" /> |
aoqi@0 | 205 | <value type="GCTHRESHOLDUPDATER" field="updater" label="Updater" /> |
aoqi@0 | 206 | </event> |
aoqi@0 | 207 | |
aoqi@0 | 208 | <event id="MetaspaceAllocationFailure" path="vm/gc/metaspace/allocation_failure" label="Metaspace Allocation Failure" is_instant="true" has_stacktrace="true"> |
aoqi@0 | 209 | <value type="CLASS" field="classLoader" label="Class Loader" /> |
aoqi@0 | 210 | <value type="BOOLEAN" field="anonymousClassLoader" label="Anonymous Class Loader" /> |
aoqi@0 | 211 | <value type="BYTES64" field="size" label="Size" /> |
aoqi@0 | 212 | <value type="METADATATYPE" field="metadataType" label="Metadata Type" /> |
aoqi@0 | 213 | <value type="METASPACEOBJTYPE" field="metaspaceObjectType" label="Metaspace Object Type" /> |
aoqi@0 | 214 | </event> |
aoqi@0 | 215 | |
aoqi@0 | 216 | <event id="MetaspaceOOM" path="vm/gc/metaspace/out_of_memory" label="Metaspace Out of Memory" is_instant="true" has_stacktrace="true"> |
aoqi@0 | 217 | <value type="CLASS" field="classLoader" label="Class Loader" /> |
aoqi@0 | 218 | <value type="BOOLEAN" field="anonymousClassLoader" label="Anonymous Class Loader" /> |
aoqi@0 | 219 | <value type="BYTES64" field="size" label="Size" /> |
aoqi@0 | 220 | <value type="METADATATYPE" field="metadataType" label="Metadata Type" /> |
aoqi@0 | 221 | <value type="METASPACEOBJTYPE" field="metaspaceObjectType" label="Metaspace Object Type" /> |
aoqi@0 | 222 | </event> |
aoqi@0 | 223 | |
aoqi@0 | 224 | <event id="MetaspaceChunkFreeListSummary" path="vm/gc/metaspace/chunk_free_list_summary" label="Metaspace Chunk Free List Summary" is_instant="true"> |
aoqi@0 | 225 | <value type="UINT" field="gcId" label="GC ID" relation="GC_ID"/> |
aoqi@0 | 226 | <value type="GCWHEN" field="when" label="When" /> |
aoqi@0 | 227 | <value type="METADATATYPE" field="metadataType" label="Metadata Type" /> |
aoqi@0 | 228 | <value type="ULONG" field="specializedChunks" label="Specialized Chunks" /> |
aoqi@0 | 229 | <value type="BYTES64" field="specializedChunksTotalSize" label="Specialized Chunks Total Size" /> |
aoqi@0 | 230 | <value type="ULONG" field="smallChunks" label="Small Chunks" /> |
aoqi@0 | 231 | <value type="BYTES64" field="smallChunksTotalSize" label="Small Chunks Total Size" /> |
aoqi@0 | 232 | <value type="ULONG" field="mediumChunks" label="Medium Chunks" /> |
aoqi@0 | 233 | <value type="BYTES64" field="mediumChunksTotalSize" label="Medium Chunks Total Size" /> |
aoqi@0 | 234 | <value type="ULONG" field="humongousChunks" label="Humongous Chunks" /> |
aoqi@0 | 235 | <value type="BYTES64" field="humongousChunksTotalSize" label="Humongous Chunks Total Size" /> |
aoqi@0 | 236 | </event> |
aoqi@0 | 237 | |
aoqi@0 | 238 | <event id="PSHeapSummary" path="vm/gc/heap/ps_summary" label="Parallel Scavenge Heap Summary" is_instant="true"> |
aoqi@0 | 239 | <value type="UINT" field="gcId" label="GC ID" relation="GC_ID"/> |
aoqi@0 | 240 | <value type="GCWHEN" field="when" label="When" /> |
aoqi@0 | 241 | |
aoqi@0 | 242 | <structvalue type="VirtualSpace" field="oldSpace" label="Old Space"/> |
aoqi@0 | 243 | <structvalue type="ObjectSpace" field="oldObjectSpace" label="Old Object Space"/> |
aoqi@0 | 244 | |
aoqi@0 | 245 | <structvalue type="VirtualSpace" field="youngSpace" label="Young Space"/> |
aoqi@0 | 246 | <structvalue type="ObjectSpace" field="edenSpace" label="Eden Space"/> |
aoqi@0 | 247 | <structvalue type="ObjectSpace" field="fromSpace" label="From Space"/> |
aoqi@0 | 248 | <structvalue type="ObjectSpace" field="toSpace" label="To Space"/> |
aoqi@0 | 249 | </event> |
aoqi@0 | 250 | |
aoqi@0 | 251 | <event id="GCGarbageCollection" path="vm/gc/collector/garbage_collection" label="Garbage Collection" |
aoqi@0 | 252 | description="Garbage collection performed by the JVM"> |
aoqi@0 | 253 | <value type="UINT" field="gcId" label="GC ID" relation="GC_ID" /> |
aoqi@0 | 254 | <value type="GCNAME" field="name" label="Name" description="The name of the Garbage Collector" /> |
aoqi@0 | 255 | <value type="GCCAUSE" field="cause" label="Cause" description="The reason for triggering this Garbage Collection" /> |
aoqi@0 | 256 | <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" /> |
aoqi@0 | 257 | <value type="TICKSPAN" field="longestPause" label="Longest Pause" description="Longest individual pause during the garbage collection" /> |
aoqi@0 | 258 | </event> |
aoqi@0 | 259 | |
aoqi@0 | 260 | <event id="GCParallelOld" path="vm/gc/collector/parold_garbage_collection" label="Parallel Old Garbage Collection" |
aoqi@0 | 261 | description="Extra information specific to Parallel Old Garbage Collections"> |
aoqi@0 | 262 | <value type="UINT" field="gcId" label="GC ID" relation="GC_ID" /> |
aoqi@0 | 263 | <value type="ADDRESS" field="densePrefix" label="Dense Prefix" description="The address of the dense prefix, used when compacting" /> |
aoqi@0 | 264 | </event> |
aoqi@0 | 265 | |
aoqi@0 | 266 | <event id="GCYoungGarbageCollection" path="vm/gc/collector/young_garbage_collection" label="Young Garbage Collection" |
aoqi@0 | 267 | description="Extra information specific to Young Garbage Collections"> |
aoqi@0 | 268 | <value type="UINT" field="gcId" label="GC ID" relation="GC_ID" /> |
aoqi@0 | 269 | <value type="UINT" field="tenuringThreshold" label="Tenuring Threshold" /> |
aoqi@0 | 270 | </event> |
aoqi@0 | 271 | |
aoqi@0 | 272 | <event id="GCOldGarbageCollection" path="vm/gc/collector/old_garbage_collection" label="Old Garbage Collection" |
aoqi@0 | 273 | description="Extra information specific to Old Garbage Collections"> |
aoqi@0 | 274 | <value type="UINT" field="gcId" label="GC ID" relation="GC_ID"/> |
aoqi@0 | 275 | </event> |
aoqi@0 | 276 | |
aoqi@0 | 277 | <event id="GCG1GarbageCollection" path="vm/gc/collector/g1_garbage_collection" label="G1 Garbage Collection" |
aoqi@0 | 278 | description="Extra information specific to G1 Garbage Collections"> |
aoqi@0 | 279 | <value type="UINT" field="gcId" label="GC ID" relation="GC_ID"/> |
aoqi@0 | 280 | <value type="G1YCTYPE" field="type" label="Type" /> |
aoqi@0 | 281 | </event> |
aoqi@0 | 282 | |
aoqi@0 | 283 | <event id="EvacuationInfo" path="vm/gc/detailed/evacuation_info" label="Evacuation Information" is_instant="true"> |
aoqi@0 | 284 | <value type="UINT" field="gcId" label="GC ID" relation="GC_ID"/> |
aoqi@0 | 285 | <value type="UINT" field="cSetRegions" label="Collection Set Regions"/> |
aoqi@0 | 286 | <value type="BYTES64" field="cSetUsedBefore" label="Collection Set Before" description="Memory usage before GC in the collection set regions"/> |
aoqi@0 | 287 | <value type="BYTES64" field="cSetUsedAfter" label="Collection Set After" description="Memory usage after GC in the collection set regions"/> |
aoqi@0 | 288 | <value type="UINT" field="allocationRegions" label="Allocation Regions" description="Regions chosen as allocation regions during evacuation (includes survivors and old space regions)"/> |
aoqi@0 | 289 | <value type="BYTES64" field="allocRegionsUsedBefore" label="Alloc Regions Before" description="Memory usage before GC in allocation regions"/> |
aoqi@0 | 290 | <value type="BYTES64" field="allocRegionsUsedAfter" label="Alloc Regions After" description="Memory usage after GC in allocation regions"/> |
aoqi@0 | 291 | <value type="BYTES64" field="bytesCopied" label="Bytes Copied"/> |
aoqi@0 | 292 | <value type="UINT" field="regionsFreed" label="Regions Freed"/> |
aoqi@0 | 293 | </event> |
aoqi@0 | 294 | |
aoqi@0 | 295 | <event id="GCReferenceStatistics" path="vm/gc/reference/statistics" |
aoqi@0 | 296 | label="GC Reference Statistics" is_instant="true" |
aoqi@0 | 297 | description="Total count of processed references during GC"> |
aoqi@0 | 298 | <value type="UINT" field="gcId" label="GC ID" relation="GC_ID"/> |
aoqi@0 | 299 | <value type="REFERENCETYPE" field="type" label="Type" /> |
aoqi@0 | 300 | <value type="ULONG" field="count" label="Total Count" /> |
aoqi@0 | 301 | </event> |
aoqi@0 | 302 | |
aoqi@0 | 303 | <struct id="CopyFailed"> |
aoqi@0 | 304 | <value type="ULONG" field="objectCount" label="Object Count"/> |
aoqi@0 | 305 | <value type="BYTES64" field="firstSize" label="First Failed Object Size"/> |
aoqi@0 | 306 | <value type="BYTES64" field="smallestSize" label="Smallest Failed Object Size"/> |
aoqi@0 | 307 | <value type="BYTES64" field="totalSize" label="Total Object Size"/> |
aoqi@0 | 308 | </struct> |
aoqi@0 | 309 | |
aoqi@0 | 310 | <event id="ObjectCountAfterGC" path="vm/gc/detailed/object_count_after_gc" is_instant="true" label="Object Count after GC"> |
aoqi@0 | 311 | <value type="UINT" field="gcId" label="GC ID" relation="GC_ID" /> |
aoqi@0 | 312 | <value type="CLASS" field="class" label="Class" /> |
aoqi@0 | 313 | <value type="LONG" field="count" label="Count" /> |
aoqi@0 | 314 | <value type="BYTES64" field="totalSize" label="Total Size" /> |
aoqi@0 | 315 | </event> |
aoqi@0 | 316 | |
aoqi@0 | 317 | <event id="PromotionFailed" path="vm/gc/detailed/promotion_failed" label="Promotion Failed" is_instant="true" |
aoqi@0 | 318 | description="Promotion of an object failed"> |
aoqi@0 | 319 | <value type="UINT" field="gcId" label="GC ID" relation="GC_ID"/> |
aoqi@0 | 320 | <structvalue type="CopyFailed" field="data" label="Data"/> |
aoqi@0 | 321 | <value type="OSTHREAD" field="thread" label="Running thread"/> |
aoqi@0 | 322 | </event> |
aoqi@0 | 323 | |
aoqi@0 | 324 | <event id="EvacuationFailed" path="vm/gc/detailed/evacuation_failed" label="Evacuation Failed" is_instant="true" |
aoqi@0 | 325 | description="Evacuation of an object failed"> |
aoqi@0 | 326 | <value type="UINT" field="gcId" label="GC ID" relation="GC_ID"/> |
aoqi@0 | 327 | <structvalue type="CopyFailed" field="data" label="Data"/> |
aoqi@0 | 328 | </event> |
aoqi@0 | 329 | |
aoqi@0 | 330 | <event id="ConcurrentModeFailure" path="vm/gc/detailed/concurrent_mode_failure" label="Concurrent Mode Failure" |
aoqi@0 | 331 | is_instant="true" description="Concurrent Mode failed"> |
aoqi@0 | 332 | <value type="UINT" field="gcId" label="GC ID" relation="GC_ID"/> |
aoqi@0 | 333 | </event> |
aoqi@0 | 334 | |
aoqi@0 | 335 | <event id="GCPhasePause" path="vm/gc/phases/pause" label="GC Phase Pause"> |
aoqi@0 | 336 | <value type="UINT" field="gcId" label="GC ID" relation="GC_ID"/> |
aoqi@0 | 337 | <value type="UTF8" field="name" label="Name" /> |
aoqi@0 | 338 | </event> |
aoqi@0 | 339 | |
aoqi@0 | 340 | <event id="GCPhasePauseLevel1" path="vm/gc/phases/pause_level_1" label="GC Phase Pause Level 1"> |
aoqi@0 | 341 | <value type="UINT" field="gcId" label="GC ID" relation="GC_ID"/> |
aoqi@0 | 342 | <value type="UTF8" field="name" label="Name" /> |
aoqi@0 | 343 | </event> |
aoqi@0 | 344 | |
aoqi@0 | 345 | <event id="GCPhasePauseLevel2" path="vm/gc/phases/pause_level_2" label="GC Phase Pause Level 2"> |
aoqi@0 | 346 | <value type="UINT" field="gcId" label="GC ID" relation="GC_ID"/> |
aoqi@0 | 347 | <value type="UTF8" field="name" label="Name" /> |
aoqi@0 | 348 | </event> |
aoqi@0 | 349 | |
aoqi@0 | 350 | <event id="GCPhasePauseLevel3" path="vm/gc/phases/pause_level_3" label="GC Phase Pause Level 3"> |
aoqi@0 | 351 | <value type="UINT" field="gcId" label="GC ID" relation="GC_ID"/> |
aoqi@0 | 352 | <value type="UTF8" field="name" label="Name" /> |
aoqi@0 | 353 | </event> |
aoqi@0 | 354 | |
aoqi@0 | 355 | <!-- Compiler events --> |
aoqi@0 | 356 | |
aoqi@0 | 357 | <event id="Compilation" path="vm/compiler/compilation" label="Compilation" |
aoqi@0 | 358 | has_thread="true" is_requestable="false" is_constant="false"> |
aoqi@0 | 359 | <value type="METHOD" field="method" label="Java Method"/> |
aoqi@0 | 360 | <value type="UINT" field="compileID" label="Compilation ID" relation="COMP_ID"/> |
aoqi@0 | 361 | <value type="USHORT" field="compileLevel" label="Compilation Level"/> |
aoqi@0 | 362 | <value type="BOOLEAN" field="succeded" label="Succeeded"/> |
aoqi@0 | 363 | <value type="BOOLEAN" field="isOsr" label="On Stack Replacement"/> |
aoqi@0 | 364 | <value type="BYTES" field="codeSize" label="Compiled Code Size"/> |
aoqi@0 | 365 | <value type="BYTES" field="inlinedBytes" label="Inlined Code Size"/> |
aoqi@0 | 366 | </event> |
aoqi@0 | 367 | |
aoqi@0 | 368 | <event id="CompilerPhase" path="vm/compiler/phase" label="Compiler Phase" |
aoqi@0 | 369 | has_thread="true" is_requestable="false" is_constant="false"> |
aoqi@0 | 370 | <value type="COMPILERPHASETYPE" field="phase" label="Compile Phase"/> |
aoqi@0 | 371 | <value type="UINT" field="compileID" label="Compilation ID" relation="COMP_ID"/> |
aoqi@0 | 372 | <value type="USHORT" field="phaseLevel" label="Phase Level"/> |
aoqi@0 | 373 | </event> |
aoqi@0 | 374 | |
aoqi@0 | 375 | <event id="CompilerFailure" path="vm/compiler/failure" label="Compilation Failure" |
aoqi@0 | 376 | has_thread="true" is_requestable="false" is_constant="false" is_instant="true"> |
aoqi@0 | 377 | <value type="UTF8" field="failure" label="Message"/> |
aoqi@0 | 378 | <value type="UINT" field="compileID" label="Compilation ID" relation="COMP_ID"/> |
aoqi@0 | 379 | </event> |
aoqi@0 | 380 | |
aoqi@0 | 381 | <!-- Code sweeper events --> |
aoqi@0 | 382 | |
aoqi@0 | 383 | <event id="SweepCodeCache" path="vm/code_sweeper/sweep" label="Sweep Code Cache" |
aoqi@0 | 384 | has_thread="true" is_requestable="false" is_constant="false"> |
aoqi@0 | 385 | <value type="INTEGER" field="sweepIndex" label="Sweep Index" relation="SWEEP_ID"/> |
aoqi@0 | 386 | <value type="USHORT" field="sweepFractionIndex" label="Fraction Index"/> |
aoqi@0 | 387 | <value type="UINT" field="sweptCount" label="Methods Swept"/> |
aoqi@0 | 388 | <value type="UINT" field="flushedCount" label="Methods Flushed"/> |
aoqi@0 | 389 | <value type="UINT" field="markedCount" label="Methods Reclaimed"/> |
aoqi@0 | 390 | <value type="UINT" field="zombifiedCount" label="Methods Zombified"/> |
aoqi@0 | 391 | </event> |
aoqi@0 | 392 | |
aoqi@0 | 393 | <!-- Code cache events --> |
aoqi@0 | 394 | |
aoqi@0 | 395 | <event id="CodeCacheFull" path="vm/code_cache/full" label="Code Cache Full" |
aoqi@0 | 396 | has_thread="true" is_requestable="false" is_constant="false" is_instant="true"> |
aoqi@0 | 397 | <value type="ADDRESS" field="startAddress" label="Start Address"/> |
aoqi@0 | 398 | <value type="ADDRESS" field="commitedTopAddress" label="Commited Top"/> |
aoqi@0 | 399 | <value type="ADDRESS" field="reservedTopAddress" label="Reserved Top"/> |
aoqi@0 | 400 | <value type="INTEGER" field="entryCount" label="Entries"/> |
aoqi@0 | 401 | <value type="INTEGER" field="methodCount" label="Methods"/> |
aoqi@0 | 402 | <value type="INTEGER" field="adaptorCount" label="Adaptors"/> |
aoqi@0 | 403 | <value type="BYTES64" field="unallocatedCapacity" label="Unallocated"/> |
aoqi@0 | 404 | <value type="INTEGER" field="fullCount" label="Full Count"/> |
aoqi@0 | 405 | </event> |
aoqi@0 | 406 | |
aoqi@0 | 407 | <event id="ExecuteVMOperation" path="vm/runtime/execute_vm_operation" label="VM Operation" |
aoqi@0 | 408 | description="Execution of a VM Operation" has_thread="true"> |
aoqi@0 | 409 | <value type="VMOPERATIONTYPE" field="operation" label="Operation" /> |
aoqi@0 | 410 | <value type="BOOLEAN" field="safepoint" label="At Safepoint" description="If the operation occured at a safepoint."/> |
aoqi@0 | 411 | <value type="BOOLEAN" field="blocking" label="Caller Blocked" description="If the calling thread was blocked until the operation was complete."/> |
aoqi@0 | 412 | <value type="OSTHREAD" field="caller" label="Caller" transition="FROM" description="Thread requesting operation. If non-blocking, will be set to 0 indicating thread is unknown."/> |
aoqi@0 | 413 | </event> |
aoqi@0 | 414 | |
aoqi@0 | 415 | <!-- Allocation events --> |
aoqi@0 | 416 | <event id="AllocObjectInNewTLAB" path="java/object_alloc_in_new_TLAB" label="Allocation in new TLAB" |
aoqi@0 | 417 | description="Allocation in new Thread Local Allocation Buffer" has_thread="true" has_stacktrace="true" is_instant="true"> |
aoqi@0 | 418 | <value type="CLASS" field="class" label="Class" description="Class of allocated object"/> |
aoqi@0 | 419 | <value type="BYTES64" field="allocationSize" label="Allocation Size"/> |
aoqi@0 | 420 | <value type="BYTES64" field="tlabSize" label="TLAB Size"/> |
aoqi@0 | 421 | </event> |
aoqi@0 | 422 | |
aoqi@0 | 423 | <event id="AllocObjectOutsideTLAB" path="java/object_alloc_outside_TLAB" label="Allocation outside TLAB" |
aoqi@0 | 424 | description="Allocation outside Thread Local Allocation Buffers" has_thread="true" has_stacktrace="true" is_instant="true"> |
aoqi@0 | 425 | <value type="CLASS" field="class" label="Class" description="Class of allocated object"/> |
aoqi@0 | 426 | <value type="BYTES64" field="allocationSize" label="Allocation Size"/> |
aoqi@0 | 427 | </event> |
aoqi@0 | 428 | </events> |
aoqi@0 | 429 | |
aoqi@0 | 430 | <xi:include href="../../../closed/share/vm/trace/traceeventtypes.xml" xmlns:xi="http://www.w3.org/2001/XInclude"> |
aoqi@0 | 431 | <xi:fallback/> |
aoqi@0 | 432 | </xi:include> |
aoqi@0 | 433 | |
aoqi@0 | 434 | <xi:include href="../../../closed/share/vm/trace/traceevents.xml" xmlns:xi="http://www.w3.org/2001/XInclude"> |
aoqi@0 | 435 | <xi:fallback/> |
aoqi@0 | 436 | </xi:include> |
aoqi@0 | 437 | </trace> |