hotspot/src/share/vm/trace/trace.xml
changeset 37115 f9c20e87f9ec
parent 36384 b0b41336a9a8
child 37267 ad8c0e8de29f
equal deleted inserted replaced
37102:ff3a76411daa 37115:f9c20e87f9ec
    28 <!ENTITY % xinclude SYSTEM "xinclude.mod">
    28 <!ENTITY % xinclude SYSTEM "xinclude.mod">
    29 %xinclude;
    29 %xinclude;
    30 ]>
    30 ]>
    31 
    31 
    32 <trace>
    32 <trace>
    33   <xi:include href="tracetypes.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
    33   <xi:include href="tracetypes.xml"
    34 
    34               xmlns:xi="http://www.w3.org/2001/XInclude"/>
    35   <relation_decls>
    35   <xi:include href="tracerelationdecls.xml"
    36     <relation_decl id="GC_ID" uri="vm/gc/id"/>
    36               xmlns:xi="http://www.w3.org/2001/XInclude"/>
    37     <relation_decl id="COMP_ID" uri="vm/compiler/id"/>
    37   <xi:include href="traceevents.xml"
    38     <relation_decl id="SWEEP_ID" uri="vm/code_sweeper/id"/>
    38               xmlns:xi="http://www.w3.org/2001/XInclude"/>
    39     <relation_decl id="JAVA_MONITOR_ADDRESS" uri="java/monitor/address"/>
       
    40   </relation_decls>
       
    41 
       
    42 <!--
       
    43 
       
    44 Events in the JVM are by default timed (it's more common)
       
    45 Perhaps a little strange. Might change.
       
    46 
       
    47 EVENTS
       
    48 
       
    49 Declard with the 'event' tag.
       
    50 
       
    51 <value fields> can be one or more of
       
    52    value            - a simple primitive or constant type value
       
    53    structvalue      - value is a sub-struct. This type must be previously defined
       
    54                       with 'struct'
       
    55 All these require you to declare type, field and label of the field. They also accept
       
    56 an optional description of the field. If the meaning of the field is not obvious
       
    57 from the label you should provide a description. If an event however is not actually
       
    58 meant for end-users, you should probably _not_ write descriptions at all, since you
       
    59 might just add more concepts the user has no notion of/interest in.
       
    60 
       
    61 Events should be modeled after what conceptual process you are expressing, _NOT_
       
    62 from whatever data structures you might use inside the JVM for expressing a process.
       
    63 
       
    64 
       
    65 STRUCT
       
    66 
       
    67 Declared with the 'struct' tag.
       
    68 
       
    69 Declares a structure type that can be used in other events.
       
    70 
       
    71 -->
       
    72 
       
    73   <events>
       
    74     <event id="ThreadStart" path="java/thread_start" label="Java Thread Start"
       
    75            has_thread="true" is_instant="true">
       
    76       <value type="THREAD" field="thread" label="Java Thread"/>
       
    77     </event>
       
    78 
       
    79     <event id="ThreadEnd" path="java/thread_end" label="Java Thread End"
       
    80            has_thread="true" is_instant="true">
       
    81       <value type="THREAD" field="thread" label="Java Thread"/>
       
    82     </event>
       
    83 
       
    84     <event id="ThreadSleep" path="java/thread_sleep" label="Java Thread Sleep"
       
    85             has_thread="true" has_stacktrace="true" is_instant="false">
       
    86       <value type="MILLIS" field="time" label="Sleep Time"/>
       
    87     </event>
       
    88 
       
    89     <event id="ThreadPark" path="java/thread_park" label="Java Thread Park"
       
    90             has_thread="true" has_stacktrace="true" is_instant="false">
       
    91       <value type="CLASS" field="klass" label="Class Parked On"/>
       
    92       <value type="MILLIS" field="timeout" label="Park Timeout"/>
       
    93       <value type="ADDRESS" field="address" label="Address of Object Parked" relation="JAVA_MONITOR_ADDRESS"/>
       
    94     </event>
       
    95 
       
    96     <event id="JavaMonitorEnter" path="java/monitor_enter" label="Java Monitor Blocked"
       
    97             has_thread="true" has_stacktrace="true" is_instant="false">
       
    98       <value type="CLASS" field="klass" label="Monitor Class"/>
       
    99       <value type="THREAD" field="previousOwner" label="Previous Monitor Owner"/>
       
   100       <value type="ADDRESS" field="address" label="Monitor Address" relation="JAVA_MONITOR_ADDRESS"/>
       
   101     </event>
       
   102 
       
   103     <event id="JavaMonitorWait" path="java/monitor_wait" label="Java Monitor Wait" description="Waiting on a Java monitor"
       
   104             has_thread="true" has_stacktrace="true" is_instant="false">
       
   105       <value type="CLASS" field="klass" label="Monitor Class" description="Class of object waited on"/>
       
   106       <value type="THREAD" field="notifier" label="Notifier Thread" description="Notifying Thread"/>
       
   107       <value type="MILLIS" field="timeout" label="Timeout" description="Maximum wait time"/>
       
   108       <value type="BOOLEAN" field="timedOut" label="Timed Out" description="Wait has been timed out"/>
       
   109       <value type="ADDRESS" field="address" label="Monitor Address" description="Address of object waited on" relation="JAVA_MONITOR_ADDRESS"/>
       
   110     </event>
       
   111 
       
   112     <event id="JavaMonitorInflate" path="java/monitor_inflate" label="Java Monitor Inflated"
       
   113            has_thread="true" has_stacktrace="true" is_instant="false">
       
   114       <value type="CLASS" field="klass" label="Monitor Class"/>
       
   115       <value type="ADDRESS" field="address" label="Monitor Address" relation="JAVA_MONITOR_ADDRESS"/>
       
   116       <value type="INFLATECAUSE" field="cause" label="Cause" description="Cause of inflation"/>
       
   117     </event>
       
   118 
       
   119     <event id="ReservedStackActivation" path="java/reserved_stack_activation" label="Reserved Stack Activation" description="Activation of Reserved Stack Area caused by stack overflow with ReservedStackAccess annotated method in call stack"
       
   120             has_thread="true" has_stacktrace="true" is_instant="true">
       
   121         <value type="METHOD" field="method" label="Java Method"/>
       
   122     </event>
       
   123 
       
   124     <event id="ClassLoad" path="vm/class/load" label="Class Load"
       
   125             has_thread="true" has_stacktrace="true" is_instant="false">
       
   126       <value type="CLASS" field="loadedClass" label="Loaded Class"/>
       
   127       <value type="CLASS" field="definingClassLoader" label="Defining Class Loader"/>
       
   128       <value type="CLASS" field="initiatingClassLoader" label="Initiating Class Loader"/>
       
   129     </event>
       
   130 
       
   131     <event id="ClassUnload" path="vm/class/unload" label="Class Unload"
       
   132         has_thread="true" is_instant="true">
       
   133       <value type="CLASS" field="unloadedClass" label="Unloaded Class"/>
       
   134       <value type="CLASS" field="definingClassLoader" label="Defining Class Loader"/>
       
   135     </event>
       
   136 
       
   137     <event id="IntFlagChanged" path="vm/flag/int_changed" label="Int Flag Changed"
       
   138           is_instant="true">
       
   139       <value type="UTF8" field="name" label="Name" />
       
   140       <value type="INTEGER" field="old_value" label="Old Value" />
       
   141       <value type="INTEGER" field="new_value" label="New Value" />
       
   142       <value type="FLAGVALUEORIGIN" field="origin" label="Origin" />
       
   143     </event>
       
   144 
       
   145     <event id="UnsignedIntFlagChanged" path="vm/flag/uint_changed" label="Unsigned Int Flag Changed"
       
   146           is_instant="true">
       
   147       <value type="UTF8" field="name" label="Name" />
       
   148       <value type="UINT" field="old_value" label="Old Value" />
       
   149       <value type="UINT" field="new_value" label="New Value" />
       
   150       <value type="FLAGVALUEORIGIN" field="origin" label="Origin" />
       
   151     </event>
       
   152 
       
   153     <event id="LongFlagChanged" path="vm/flag/long_changed" label="Long Flag Changed"
       
   154           is_instant="true">
       
   155       <value type="UTF8" field="name" label="Name" />
       
   156       <value type="LONG" field="old_value" label="Old Value" />
       
   157       <value type="LONG" field="new_value" label="New Value" />
       
   158       <value type="FLAGVALUEORIGIN" field="origin" label="Origin" />
       
   159     </event>
       
   160 
       
   161     <event id="UnsignedLongFlagChanged" path="vm/flag/ulong_changed" label="Unsigned Long Flag Changed"
       
   162           is_instant="true">
       
   163       <value type="UTF8" field="name" label="Name" />
       
   164       <value type="ULONG" field="old_value" label="Old Value" />
       
   165       <value type="ULONG" field="new_value" label="New Value" />
       
   166       <value type="FLAGVALUEORIGIN" field="origin" label="Origin" />
       
   167     </event>
       
   168 
       
   169     <event id="DoubleFlagChanged" path="vm/flag/double_changed" label="Double Flag Changed"
       
   170          is_instant="true">
       
   171       <value type="UTF8" field="name" label="Name" />
       
   172       <value type="DOUBLE" field="old_value" label="Old Value" />
       
   173       <value type="DOUBLE" field="new_value" label="New Value" />
       
   174       <value type="FLAGVALUEORIGIN" field="origin" label="Origin" />
       
   175     </event>
       
   176 
       
   177     <event id="BooleanFlagChanged" path="vm/flag/boolean_changed" label="Boolean Flag Changed"
       
   178          is_instant="true">
       
   179       <value type="UTF8" field="name" label="Name" />
       
   180       <value type="BOOLEAN" field="old_value" label="Old Value" />
       
   181       <value type="BOOLEAN" field="new_value" label="New Value" />
       
   182       <value type="FLAGVALUEORIGIN" field="origin" label="Origin" />
       
   183     </event>
       
   184 
       
   185     <event id="StringFlagChanged" path="vm/flag/string_changed" label="String Flag Changed"
       
   186          is_instant="true">
       
   187       <value type="UTF8" field="name" label="Name" />
       
   188       <value type="UTF8" field="old_value" label="Old Value" />
       
   189       <value type="UTF8" field="new_value" label="New Value" />
       
   190       <value type="FLAGVALUEORIGIN" field="origin" label="Origin" />
       
   191     </event>
       
   192 
       
   193     <struct id="VirtualSpace">
       
   194       <value type="ADDRESS" field="start" label="Start Address" description="Start address of the virtual space" />
       
   195       <value type="ADDRESS" field="committedEnd" label="Committed End Address" description="End address of the committed memory for the virtual space" />
       
   196       <value type="BYTES64" field="committedSize" label="Committed Size" description="Size of the committed memory for the virtual space" />
       
   197       <value type="ADDRESS" field="reservedEnd" label="Reserved End Address" description="End address of the reserved memory for the virtual space" />
       
   198       <value type="BYTES64" field="reservedSize" label="Reserved Size" description="Size of the reserved memory for the virtual space" />
       
   199     </struct>
       
   200 
       
   201     <struct id="ObjectSpace">
       
   202       <value type="ADDRESS" field="start" label="Start Address" description="Start address of the space" />
       
   203       <value type="ADDRESS" field="end" label="End Address" description="End address of the space" />
       
   204       <value type="BYTES64" field="used" label="Used" description="Bytes allocated by objects in the space" />
       
   205       <value type="BYTES64" field="size" label="Size" description="Size of the space" />
       
   206     </struct>
       
   207 
       
   208     <event id="GCHeapSummary" path="vm/gc/heap/summary" label="Heap Summary" is_instant="true">
       
   209       <value type="UINT" field="gcId" label="GC ID" relation="GC_ID"/>
       
   210       <value type="GCWHEN" field="when" label="When" />
       
   211       <structvalue type="VirtualSpace" field="heapSpace" label="Heap Space"/>
       
   212       <value type="BYTES64" field="heapUsed" label="Heap Used" description="Bytes allocated by objects in the heap"/>
       
   213     </event>
       
   214 
       
   215     <struct id="MetaspaceSizes">
       
   216       <value type="BYTES64" field="committed" label="Committed" description="Committed memory for this space" />
       
   217       <value type="BYTES64" field="used" label="Used" description="Bytes allocated by objects in the space" />
       
   218       <value type="BYTES64" field="reserved" label="Reserved" description="Reserved memory for this space" />
       
   219     </struct>
       
   220 
       
   221     <event id="MetaspaceSummary" path="vm/gc/heap/metaspace_summary" label="Metaspace Summary" is_instant="true">
       
   222       <value type="UINT" field="gcId" label="GC ID" relation="GC_ID"/>
       
   223       <value type="GCWHEN" field="when" label="When" />
       
   224       <value type="BYTES64" field="gcThreshold" label="GC Threshold" />
       
   225       <structvalue type="MetaspaceSizes" field="metaspace" label="Total"/>
       
   226       <structvalue type="MetaspaceSizes" field="dataSpace" label="Data"/>
       
   227       <structvalue type="MetaspaceSizes" field="classSpace" label="Class"/>
       
   228     </event>
       
   229 
       
   230     <event id="MetaspaceGCThreshold" path="vm/gc/metaspace/gc_threshold" label="Metaspace GC Threshold" is_instant="true">
       
   231       <value type="BYTES64" field="oldValue" label="Old Value" />
       
   232       <value type="BYTES64" field="newValue" label="New Value" />
       
   233       <value type="GCTHRESHOLDUPDATER" field="updater" label="Updater" />
       
   234     </event>
       
   235 
       
   236     <event id="MetaspaceAllocationFailure" path="vm/gc/metaspace/allocation_failure" label="Metaspace Allocation Failure" is_instant="true" has_stacktrace="true">
       
   237       <value type="CLASS" field="classLoader" label="Class Loader" />
       
   238       <value type="BOOLEAN" field="anonymousClassLoader" label="Anonymous Class Loader" />
       
   239       <value type="BYTES64" field="size" label="Size" />
       
   240       <value type="METADATATYPE" field="metadataType" label="Metadata Type" />
       
   241       <value type="METASPACEOBJTYPE" field="metaspaceObjectType" label="Metaspace Object Type" />
       
   242     </event>
       
   243 
       
   244     <event id="MetaspaceOOM" path="vm/gc/metaspace/out_of_memory" label="Metaspace Out of Memory" is_instant="true" has_stacktrace="true">
       
   245       <value type="CLASS" field="classLoader" label="Class Loader" />
       
   246       <value type="BOOLEAN" field="anonymousClassLoader" label="Anonymous Class Loader" />
       
   247       <value type="BYTES64" field="size" label="Size" />
       
   248       <value type="METADATATYPE" field="metadataType" label="Metadata Type" />
       
   249       <value type="METASPACEOBJTYPE" field="metaspaceObjectType" label="Metaspace Object Type" />
       
   250     </event>
       
   251 
       
   252     <event id="MetaspaceChunkFreeListSummary" path="vm/gc/metaspace/chunk_free_list_summary" label="Metaspace Chunk Free List Summary" is_instant="true">
       
   253       <value type="UINT" field="gcId" label="GC ID" relation="GC_ID"/>
       
   254       <value type="GCWHEN" field="when" label="When" />
       
   255       <value type="METADATATYPE" field="metadataType" label="Metadata Type" />
       
   256       <value type="ULONG" field="specializedChunks" label="Specialized Chunks" />
       
   257       <value type="BYTES64" field="specializedChunksTotalSize" label="Specialized Chunks Total Size" />
       
   258       <value type="ULONG" field="smallChunks" label="Small Chunks" />
       
   259       <value type="BYTES64" field="smallChunksTotalSize" label="Small Chunks Total Size" />
       
   260       <value type="ULONG" field="mediumChunks" label="Medium Chunks" />
       
   261       <value type="BYTES64" field="mediumChunksTotalSize" label="Medium Chunks Total Size" />
       
   262       <value type="ULONG" field="humongousChunks" label="Humongous Chunks" />
       
   263       <value type="BYTES64" field="humongousChunksTotalSize" label="Humongous Chunks Total Size" />
       
   264     </event>
       
   265 
       
   266     <event id="PSHeapSummary" path="vm/gc/heap/ps_summary" label="Parallel Scavenge Heap Summary" is_instant="true">
       
   267       <value type="UINT" field="gcId" label="GC ID" relation="GC_ID"/>
       
   268       <value type="GCWHEN" field="when" label="When" />
       
   269 
       
   270       <structvalue type="VirtualSpace" field="oldSpace" label="Old Space"/>
       
   271       <structvalue type="ObjectSpace" field="oldObjectSpace" label="Old Object Space"/>
       
   272 
       
   273       <structvalue type="VirtualSpace" field="youngSpace" label="Young Space"/>
       
   274       <structvalue type="ObjectSpace" field="edenSpace" label="Eden Space"/>
       
   275       <structvalue type="ObjectSpace" field="fromSpace" label="From Space"/>
       
   276       <structvalue type="ObjectSpace" field="toSpace" label="To Space"/>
       
   277     </event>
       
   278 
       
   279     <event id="G1HeapSummary" path="vm/gc/heap/g1_summary" label="G1 Heap Summary" is_instant="true">
       
   280       <value type="UINT" field="gcId" label="GC ID" relation="GC_ID"/>
       
   281       <value type="GCWHEN" field="when" label="When" />
       
   282 
       
   283       <value type="BYTES64" field="edenUsedSize" label="Eden Used Size" />
       
   284       <value type="BYTES64" field="edenTotalSize" label="Eden Total Size" />
       
   285       <value type="BYTES64" field="survivorUsedSize" label="Survivor Used Size" />
       
   286       <value type="UINT" field="numberOfRegions" label="Number of Regions" />
       
   287     </event>
       
   288 
       
   289     <event id="GCGarbageCollection" path="vm/gc/collector/garbage_collection" label="Garbage Collection"
       
   290            description="Garbage collection performed by the JVM">
       
   291       <value type="UINT" field="gcId"  label="GC ID" relation="GC_ID" />
       
   292       <value type="GCNAME" field="name" label="Name" description="The name of the Garbage Collector" />
       
   293       <value type="GCCAUSE" field="cause" label="Cause" description="The reason for triggering this Garbage Collection" />
       
   294       <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" />
       
   295       <value type="TICKSPAN" field="longestPause" label="Longest Pause" description="Longest individual pause during the garbage collection" />
       
   296     </event>
       
   297 
       
   298     <event id="GCParallelOld" path="vm/gc/collector/parold_garbage_collection" label="Parallel Old Garbage Collection"
       
   299            description="Extra information specific to Parallel Old Garbage Collections">
       
   300       <value type="UINT" field="gcId"  label="GC ID" relation="GC_ID" />
       
   301       <value type="ADDRESS" field="densePrefix" label="Dense Prefix" description="The address of the dense prefix, used when compacting" />
       
   302     </event>
       
   303 
       
   304     <event id="GCYoungGarbageCollection" path="vm/gc/collector/young_garbage_collection" label="Young Garbage Collection"
       
   305            description="Extra information specific to Young Garbage Collections">
       
   306       <value type="UINT" field="gcId"  label="GC ID" relation="GC_ID" />
       
   307       <value type="UINT" field="tenuringThreshold" label="Tenuring Threshold" />
       
   308     </event>
       
   309 
       
   310     <event id="GCOldGarbageCollection" path="vm/gc/collector/old_garbage_collection" label="Old Garbage Collection"
       
   311            description="Extra information specific to Old Garbage Collections">
       
   312       <value type="UINT" field="gcId" label="GC ID" relation="GC_ID"/>
       
   313     </event>
       
   314 
       
   315     <event id="GCG1GarbageCollection" path="vm/gc/collector/g1_garbage_collection" label="G1 Garbage Collection"
       
   316            description="Extra information specific to G1 Garbage Collections">
       
   317       <value type="UINT" field="gcId" label="GC ID" relation="GC_ID"/>
       
   318       <value type="G1YCTYPE" field="type" label="Type" />
       
   319     </event>
       
   320 
       
   321     <event id="GCG1MMU" path="vm/gc/detailed/g1_mmu_info" label="G1 MMU Information" is_instant="true">
       
   322       <value type="UINT" field="gcId" label="GC ID" relation="GC_ID"/>
       
   323       <value type="DOUBLE" field="timeSlice" label="Time slice used to calculate MMU"/>
       
   324       <value type="DOUBLE" field="gcTime" label="Time spent on GC during last time slice"/>
       
   325       <value type="DOUBLE" field="maxGcTime" label="Max time allowed to be spent on GC during last time slice"/>
       
   326     </event>
       
   327 
       
   328     <event id="EvacuationInfo" path="vm/gc/detailed/evacuation_info" label="Evacuation Information" is_instant="true">
       
   329       <value type="UINT" field="gcId" label="GC ID" relation="GC_ID"/>
       
   330       <value type="UINT" field="cSetRegions" label="Collection Set Regions"/>
       
   331       <value type="BYTES64" field="cSetUsedBefore" label="Collection Set Before" description="Memory usage before GC in the collection set regions"/>
       
   332       <value type="BYTES64" field="cSetUsedAfter" label="Collection Set After" description="Memory usage after GC in the collection set regions"/>
       
   333       <value type="UINT" field="allocationRegions" label="Allocation Regions" description="Regions chosen as allocation regions during evacuation (includes survivors and old space regions)"/>
       
   334       <value type="BYTES64" field="allocRegionsUsedBefore" label="Alloc Regions Before" description="Memory usage before GC in allocation regions"/>
       
   335       <value type="BYTES64" field="allocRegionsUsedAfter" label="Alloc Regions After" description="Memory usage after GC in allocation regions"/>
       
   336       <value type="BYTES64" field="bytesCopied" label="Bytes Copied"/>
       
   337       <value type="UINT" field="regionsFreed" label="Regions Freed"/>
       
   338     </event>
       
   339 
       
   340     <event id="GCReferenceStatistics" path="vm/gc/reference/statistics"
       
   341            label="GC Reference Statistics" is_instant="true"
       
   342            description="Total count of processed references during GC">
       
   343       <value type="UINT" field="gcId" label="GC ID" relation="GC_ID"/>
       
   344       <value type="REFERENCETYPE" field="type" label="Type" />
       
   345       <value type="ULONG" field="count" label="Total Count" />
       
   346     </event>
       
   347 
       
   348     <struct id="CopyFailed">
       
   349       <value type="ULONG" field="objectCount" label="Object Count"/>
       
   350       <value type="BYTES64" field="firstSize" label="First Failed Object Size"/>
       
   351       <value type="BYTES64" field="smallestSize" label="Smallest Failed Object Size"/>
       
   352       <value type="BYTES64" field="totalSize" label="Total Object Size"/>
       
   353     </struct>
       
   354 
       
   355     <event id="ObjectCountAfterGC" path="vm/gc/detailed/object_count_after_gc" is_instant="true" label="Object Count after GC">
       
   356       <value type="UINT" field="gcId"  label="GC ID" relation="GC_ID" />
       
   357       <value type="CLASS" field="class" label="Class" />
       
   358       <value type="LONG" field="count" label="Count" />
       
   359       <value type="BYTES64" field="totalSize" label="Total Size" />
       
   360     </event>
       
   361 
       
   362     <struct id="G1EvacStats">
       
   363       <value type="UINT" field="gcId" label="GC ID" relation="GC_ID"/>
       
   364       <value type="BYTES64" field="allocated" label="Allocated" description="Total memory allocated by PLABs"/>
       
   365       <value type="BYTES64" field="wasted" label="Wasted" description="Total memory wasted within PLABs due to alignment or refill"/>
       
   366       <value type="BYTES64" field="used" label="Used" description="Total memory occupied by objects within PLABs"/>
       
   367       <value type="BYTES64" field="undoWaste" label="Undo Wasted" description="Total memory wasted due to allocation undo within PLABs"/>
       
   368       <value type="BYTES64" field="regionEndWaste" label="Region End Wasted" description="Total memory wasted at the end of regions due to refill"/>
       
   369       <value type="UINT" field="regionsRefilled" label="Region Refills" description="Total memory wasted at the end of regions due to refill"/>
       
   370       <value type="BYTES64" field="directAllocated" label="Allocated (direct)" description="Total memory allocated using direct allocation outside of PLABs"/>
       
   371       <value type="BYTES64" field="failureUsed" label="Used (failure)" description="Total memory occupied by objects in regions where evacuation failed"/>
       
   372       <value type="BYTES64" field="failureWaste" label="Wasted (failure)" description="Total memory left unused in regions where evacuation failed"/>
       
   373     </struct>
       
   374 
       
   375     <event id="GCG1EvacuationYoungStatistics" path="vm/gc/detailed/g1_evac_young_stats" label="G1 Evacuation Statistics for Young" is_instant="true"
       
   376            description="Memory related evacuation statistics during GC for the young generation">
       
   377       <structvalue type="G1EvacStats" field="stats" label="Evacuation statistics"/>
       
   378     </event>
       
   379 
       
   380     <event id="GCG1EvacuationOldStatistics" path="vm/gc/detailed/g1_evac_old_stats" label="G1 Evacuation Memory Statistics for Old" is_instant="true"
       
   381            description="Memory related evacuation statistics during GC for the old generation">
       
   382       <structvalue type="G1EvacStats" field="stats" label="Evacuation statistics"/>
       
   383     </event>
       
   384 
       
   385     <event id="GCG1BasicIHOP" path="vm/gc/detailed/g1_basic_ihop_status" label="G1 Basic IHOP statistics" is_instant="true"
       
   386            description="Basic statistics related to current IHOP calculation">
       
   387       <value type="UINT" field="gcId" label="GC ID" relation="GC_ID"/>
       
   388       <value type="BYTES64" field="threshold" label="Current IHOP threshold" description="Current IHOP threshold in bytes"/>
       
   389       <value type="BYTES64" field="thresholdPercentage" label="Current IHOP threshold in percent" description="Current IHOP threshold in percent of old gen"/>
       
   390       <value type="BYTES64" field="targetOccupancy" label="Target occupancy" description="Target old gen occupancy to reach at the start of mixed GC in bytes"/>
       
   391       <value type="BYTES64" field="currentOccupancy" label="Current occupancy" description="Current old gen occupancy in bytes"/>
       
   392       <value type="BYTES64" field="lastAllocationSize" label="Last mutator allocation size" description="Mutator allocation during mutator operation since last GC in bytes"/>
       
   393       <value type="DOUBLE" field="lastAllocationDuration" label="Last mutator operation duration" description="Time the mutator ran since last GC in seconds"/>
       
   394       <value type="DOUBLE" field="lastAllocationRate" label="Last mutator allocation rate" description="Allocation rate of the mutator since last GC in bytes/second"/>
       
   395       <value type="DOUBLE" field="lastMarkingLength" label="Last mutator time from initial mark to first mixed GC" description="Last time from the end of the last initial mark to the first mixed GC in seconds"/>
       
   396     </event>
       
   397 
       
   398     <event id="GCG1AdaptiveIHOP" path="vm/gc/detailed/g1_adaptive_ihop_status" label="G1 Adaptive IHOP statistics" is_instant="true"
       
   399            description="Statistics related to current adaptive IHOP calculation">
       
   400       <value type="UINT" field="gcId" label="GC ID" relation="GC_ID"/>
       
   401       <value type="BYTES64" field="threshold" label="Current IHOP threshold" description="Current IHOP threshold in bytes"/>
       
   402       <value type="BYTES64" field="thresholdPercentage" label="Current IHOP threshold in percent" description="Current IHOP threshold in percent of the internal target occupancy"/>
       
   403       <value type="BYTES64" field="internalTargetOccupancy" label="Target occupancy" description="Internal target old gen occupancy to reach at the start of mixed GC in bytes"/>
       
   404       <value type="BYTES64" field="currentOccupancy" label="Current occupancy" description="Current old gen occupancy in bytes"/>
       
   405       <value type="BYTES64" field="additionalBufferSize" label="Additional buffer size" description="Additional buffer size in bytes"/>
       
   406       <value type="DOUBLE" field="predictedAllocationRate" label="Predicted mutator allocation rate" description="Current predicted allocation rate for the mutator in bytes/second"/>
       
   407       <value type="DOUBLE" field="predictedMarkingLength" label="Predicted time from initial mark to first mixed GC" description="Current predicted time from the end of the last initial mark to the first mixed GC in seconds"/>
       
   408       <value type="BOOLEAN" field="predictionActive" label="Prediction active" description="Indicates whether the adaptive IHOP prediction is active"/>
       
   409     </event>
       
   410 
       
   411     <!-- Promotion events, Supported GCs are Parallel Scavange, G1 and CMS with Parallel New. -->
       
   412     <event id="PromoteObjectInNewPLAB" path="vm/gc/detailed/object_promotion_in_new_PLAB" label="Promotion in new PLAB"
       
   413         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." 
       
   414            has_thread="true" has_stacktrace="false" is_instant="true">
       
   415       <value type="UINT" field="gcId" label="GC ID" relation="GC_ID" description="ID of GC during which the object was promoted"/>
       
   416       <value type="CLASS" field="class" label="Class" description="Class of promoted object"/>
       
   417       <value type="BYTES64" field="objectSize" label="Object Size" description="Size of promoted object"/>
       
   418       <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."/>
       
   419       <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"/>
       
   420       <value type="BYTES64" field="plabSize" label="PLAB Size" description="Size of the allocated PLAB to which the object was copied"/>
       
   421     </event>
       
   422     
       
   423     <event id="PromoteObjectOutsidePLAB" path="vm/gc/detailed/object_promotion_outside_PLAB" label="Promotion outside PLAB"
       
   424         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." 
       
   425            has_thread="true" has_stacktrace="false" is_instant="true">
       
   426       <value type="UINT" field="gcId" label="GC ID" relation="GC_ID" description="ID of GC during which the object was promoted"/>
       
   427       <value type="CLASS" field="class" label="Class" description="Class of promoted object"/>
       
   428       <value type="BYTES64" field="objectSize" label="Object Size" description="Size of promoted object"/>
       
   429       <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."/>
       
   430       <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"/>
       
   431     </event>
       
   432 
       
   433     <event id="PromotionFailed" path="vm/gc/detailed/promotion_failed" label="Promotion Failed" is_instant="true"
       
   434            description="Promotion of an object failed">
       
   435       <value type="UINT" field="gcId" label="GC ID" relation="GC_ID"/>
       
   436       <structvalue type="CopyFailed" field="data" label="Data"/>
       
   437       <value type="THREAD" field="thread" label="Running thread"/>
       
   438     </event>
       
   439 
       
   440     <event id="EvacuationFailed" path="vm/gc/detailed/evacuation_failed" label="Evacuation Failed" is_instant="true"
       
   441            description="Evacuation of an object failed">
       
   442       <value type="UINT" field="gcId" label="GC ID" relation="GC_ID"/>
       
   443       <structvalue type="CopyFailed" field="data" label="Data"/>
       
   444     </event>
       
   445 
       
   446     <event id="ConcurrentModeFailure" path="vm/gc/detailed/concurrent_mode_failure" label="Concurrent Mode Failure"
       
   447            is_instant="true" description="Concurrent Mode failed">
       
   448       <value type="UINT" field="gcId" label="GC ID" relation="GC_ID"/>
       
   449     </event>
       
   450 
       
   451     <event id="GCPhasePause" path="vm/gc/phases/pause" label="GC Phase Pause">
       
   452       <value type="UINT" field="gcId" label="GC ID" relation="GC_ID"/>
       
   453       <value type="UTF8" field="name" label="Name" />
       
   454     </event>
       
   455 
       
   456     <event id="GCPhasePauseLevel1" path="vm/gc/phases/pause_level_1" label="GC Phase Pause Level 1">
       
   457       <value type="UINT" field="gcId" label="GC ID" relation="GC_ID"/>
       
   458       <value type="UTF8" field="name" label="Name" />
       
   459     </event>
       
   460 
       
   461     <event id="GCPhasePauseLevel2" path="vm/gc/phases/pause_level_2" label="GC Phase Pause Level 2">
       
   462       <value type="UINT" field="gcId" label="GC ID" relation="GC_ID"/>
       
   463       <value type="UTF8" field="name" label="Name" />
       
   464     </event>
       
   465 
       
   466     <event id="GCPhasePauseLevel3" path="vm/gc/phases/pause_level_3" label="GC Phase Pause Level 3">
       
   467       <value type="UINT" field="gcId" label="GC ID" relation="GC_ID"/>
       
   468       <value type="UTF8" field="name" label="Name" />
       
   469     </event>
       
   470 
       
   471     <event id="GCPhaseConcurrent" path="vm/gc/phases/concurrent" label="GC Phase Concurrent">
       
   472       <value type="UINT" field="gcId" label="GC ID" relation="GC_ID"/>
       
   473       <value type="UTF8" field="name" label="Name" />
       
   474     </event>
       
   475 
       
   476     <event id="AllocationRequiringGC" path="vm/gc/detailed/allocation_requiring_gc" label="Allocation Requiring GC"
       
   477            has_thread="true" has_stacktrace="true"  is_instant="true">
       
   478       <value type="UINT" field="gcId"  label="Pending GC ID" relation="GC_ID" />
       
   479       <value type="BYTES64" field="size" label="Allocation Size" />
       
   480     </event>
       
   481 
       
   482     <event id="TenuringDistribution" path="vm/gc/detailed/tenuring_distribution" label="Tenuring Distribution"
       
   483            is_instant="true">
       
   484       <value type="UINT" field="gcId" label="GC ID" relation="GC_ID"/>
       
   485       <value type="UINT" field="age" label="Age" />
       
   486       <value type="BYTES64" field="size" label="Size" />
       
   487     </event>
       
   488 
       
   489     <event id="G1HeapRegionTypeChange" path="vm/gc/detailed/g1_heap_region_type_change" label="G1 Heap Region Type Change"
       
   490            description="Information about a G1 heap region type change." is_instant="true">
       
   491       <value type="UINT" field="index" label="Index" />
       
   492       <value type="G1HEAPREGIONTYPE" field="from" label="From Type" />
       
   493       <value type="G1HEAPREGIONTYPE" field="to" label="To Type" />
       
   494       <value type="ADDRESS" field="start" label="Start" />
       
   495       <value type="BYTES64" field="used" label="Used" />
       
   496       <value type="UINT" field="allocContext" label="Allocation Context" />
       
   497     </event>
       
   498 
       
   499     <event id="VMError" path="vm/runtime/vm_error" label="VM Error"
       
   500            description="VM shutdown due to an error" has_stacktrace="true" has_thread="true">
       
   501       <value type="BOOLEAN" field="out_of_java_memory" label="Java Out Of Memory"/>
       
   502     </event>
       
   503 
       
   504     <!-- Compiler events -->
       
   505 
       
   506     <event id="Compilation" path="vm/compiler/compilation" label="Compilation"
       
   507          has_thread="true" is_requestable="false" is_constant="false">
       
   508       <value type="METHOD" field="method" label="Java Method"/>
       
   509       <value type="UINT" field="compileID" label="Compilation ID" relation="COMP_ID"/>
       
   510       <value type="USHORT" field="compileLevel" label="Compilation Level"/>
       
   511       <value type="BOOLEAN" field="succeded" label="Succeeded"/>
       
   512       <value type="BOOLEAN" field="isOsr" label="On Stack Replacement"/>
       
   513       <value type="BYTES" field="codeSize" label="Compiled Code Size"/>
       
   514       <value type="BYTES" field="inlinedBytes" label="Inlined Code Size"/>
       
   515     </event>
       
   516 
       
   517     <event id="CompilerPhase" path="vm/compiler/phase" label="Compiler Phase"
       
   518             has_thread="true" is_requestable="false" is_constant="false">
       
   519       <value type="COMPILERPHASETYPE" field="phase" label="Compile Phase"/>
       
   520       <value type="UINT" field="compileID" label="Compilation ID" relation="COMP_ID"/>
       
   521       <value type="USHORT" field="phaseLevel" label="Phase Level"/>
       
   522     </event>
       
   523 
       
   524     <event id="CompilerFailure" path="vm/compiler/failure" label="Compilation Failure"
       
   525             has_thread="true" is_requestable="false" is_constant="false" is_instant="true">
       
   526       <value type="UTF8" field="failure" label="Message"/>
       
   527       <value type="UINT" field="compileID" label="Compilation ID" relation="COMP_ID"/>
       
   528     </event>
       
   529 
       
   530     <struct id="CiMethod">
       
   531       <value type="UTF8" field="class" label="Class name"/>
       
   532       <value type="UTF8" field="name" label="Method name"/>
       
   533       <value type="UTF8" field="signature" label="Method signature"/>
       
   534     </struct>
       
   535 
       
   536     <event id="CompilerInlining" path="vm/compiler/optimization/inlining" label="Method Inlining"
       
   537          has_thread="true" is_instant="true">
       
   538       <value type="UINT" field="compileID" label="Compilation ID" relation="COMP_ID"/>
       
   539       <value type="METHOD" field="caller" label="Caller Method"/>
       
   540       <structvalue type="CiMethod" field="callee" label="Callee Method"/>
       
   541       <value type="BOOLEAN" field="succeeded" label="Succeeded"/>
       
   542       <value type="UTF8" field="message" label="Message"/>
       
   543       <value type="INTEGER" field="bci" label="Byte Code Index"/>
       
   544     </event>
       
   545 
       
   546     <!-- Code sweeper events -->
       
   547 
       
   548     <event id="SweepCodeCache" path="vm/code_sweeper/sweep" label="Sweep Code Cache"
       
   549        has_thread="true" is_requestable="false" is_constant="false">
       
   550       <value type="INTEGER" field="sweepIndex" label="Sweep Index" relation="SWEEP_ID"/>
       
   551       <value type="UINT" field="sweptCount" label="Methods Swept"/>
       
   552       <value type="UINT" field="flushedCount" label="Methods Flushed"/>
       
   553       <value type="UINT" field="markedCount" label="Methods Reclaimed"/>
       
   554       <value type="UINT" field="zombifiedCount" label="Methods Zombified"/>
       
   555     </event>
       
   556 
       
   557     <!-- Code cache events -->
       
   558 
       
   559     <event id="CodeCacheFull" path="vm/code_cache/full" label="Code Cache Full"
       
   560          has_thread="true" is_requestable="false" is_constant="false" is_instant="true">
       
   561       <value type="CODEBLOBTYPE" field="codeBlobType" label="Code Heap"/>
       
   562       <value type="ADDRESS" field="startAddress" label="Start Address"/>
       
   563       <value type="ADDRESS" field="commitedTopAddress" label="Commited Top"/>
       
   564       <value type="ADDRESS" field="reservedTopAddress" label="Reserved Top"/>
       
   565       <value type="INTEGER" field="entryCount" label="Entries"/>
       
   566       <value type="INTEGER" field="methodCount" label="Methods"/>
       
   567       <value type="INTEGER" field="adaptorCount" label="Adaptors"/>
       
   568       <value type="BYTES64" field="unallocatedCapacity" label="Unallocated"/>
       
   569       <value type="INTEGER" field="fullCount" label="Full Count"/>
       
   570     </event>
       
   571 
       
   572     <event id="ExecuteVMOperation" path="vm/runtime/execute_vm_operation" label="VM Operation"
       
   573         description="Execution of a VM Operation" has_thread="true">
       
   574       <value type="VMOPERATIONTYPE" field="operation" label="Operation" />
       
   575       <value type="BOOLEAN" field="safepoint" label="At Safepoint" description="If the operation occured at a safepoint."/>
       
   576       <value type="BOOLEAN" field="blocking" label="Caller Blocked" description="If the calling thread was blocked until the operation was complete."/>
       
   577       <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."/>
       
   578     </event>
       
   579 
       
   580     <!-- Allocation events -->
       
   581     <event id="AllocObjectInNewTLAB" path="java/object_alloc_in_new_TLAB" label="Allocation in new TLAB"
       
   582         description="Allocation in new Thread Local Allocation Buffer" has_thread="true" has_stacktrace="true" is_instant="true">
       
   583       <value type="CLASS" field="class" label="Class" description="Class of allocated object"/>
       
   584       <value type="BYTES64" field="allocationSize" label="Allocation Size"/>
       
   585       <value type="BYTES64" field="tlabSize" label="TLAB Size"/>
       
   586     </event>
       
   587 
       
   588     <event id="AllocObjectOutsideTLAB" path="java/object_alloc_outside_TLAB" label="Allocation outside TLAB"
       
   589         description="Allocation outside Thread Local Allocation Buffers" has_thread="true" has_stacktrace="true" is_instant="true">
       
   590       <value type="CLASS" field="class" label="Class" description="Class of allocated object"/>
       
   591       <value type="BYTES64" field="allocationSize" label="Allocation Size"/>
       
   592     </event>
       
   593   </events>
       
   594 
       
   595   <xi:include href="../../../closed/share/vm/trace/traceeventtypes.xml" xmlns:xi="http://www.w3.org/2001/XInclude">
       
   596     <xi:fallback/>
       
   597   </xi:include>
       
   598 
       
   599   <xi:include href="../../../closed/share/vm/trace/traceevents.xml" xmlns:xi="http://www.w3.org/2001/XInclude">
       
   600     <xi:fallback/>
       
   601   </xi:include>
       
   602 </trace>
    39 </trace>