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 trace SYSTEM "trace.dtd" [
28 <!ENTITY % xinclude SYSTEM "xinclude.mod">
29 %xinclude;
30 ]>
31
32 <trace>
33 <xi:include href="tracetypes.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
34
35 <relation_decls>
36 <relation_decl id="GC_ID" uri="vm/gc/id"/>
37 <relation_decl id="COMP_ID" uri="vm/compiler/id"/>
38 <relation_decl id="SWEEP_ID" uri="vm/code_sweeper/id"/>
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.
527 <value type="INTEGER" field="sweepIndex" label="Sweep Index" relation="SWEEP_ID"/>
528 <value type="UINT" field="sweptCount" label="Methods Swept"/>
529 <value type="UINT" field="flushedCount" label="Methods Flushed"/>
530 <value type="UINT" field="markedCount" label="Methods Reclaimed"/>
531 <value type="UINT" field="zombifiedCount" label="Methods Zombified"/>
532 </event>
533
534 <!-- Code cache events -->
535
536 <event id="CodeCacheFull" path="vm/code_cache/full" label="Code Cache Full"
537 has_thread="true" is_requestable="false" is_constant="false" is_instant="true">
538 <value type="CODEBLOBTYPE" field="codeBlobType" label="Code Heap"/>
539 <value type="ADDRESS" field="startAddress" label="Start Address"/>
540 <value type="ADDRESS" field="commitedTopAddress" label="Commited Top"/>
541 <value type="ADDRESS" field="reservedTopAddress" label="Reserved Top"/>
542 <value type="INTEGER" field="entryCount" label="Entries"/>
543 <value type="INTEGER" field="methodCount" label="Methods"/>
544 <value type="INTEGER" field="adaptorCount" label="Adaptors"/>
545 <value type="BYTES64" field="unallocatedCapacity" label="Unallocated"/>
546 <value type="INTEGER" field="fullCount" label="Full Count"/>
547 </event>
548
549 <event id="ExecuteVMOperation" path="vm/runtime/execute_vm_operation" label="VM Operation"
550 description="Execution of a VM Operation" has_thread="true">
551 <value type="VMOPERATIONTYPE" field="operation" label="Operation" />
552 <value type="BOOLEAN" field="safepoint" label="At Safepoint" description="If the operation occured at a safepoint."/>
553 <value type="BOOLEAN" field="blocking" label="Caller Blocked" description="If the calling thread was blocked until the operation was complete."/>
554 <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."/>
555 </event>
556
557 <!-- Allocation events -->
558 <event id="AllocObjectInNewTLAB" path="java/object_alloc_in_new_TLAB" label="Allocation in new TLAB"
559 description="Allocation in new Thread Local Allocation Buffer" has_thread="true" has_stacktrace="true" is_instant="true">
560 <value type="CLASS" field="class" label="Class" description="Class of allocated object"/>
561 <value type="BYTES64" field="allocationSize" label="Allocation Size"/>
562 <value type="BYTES64" field="tlabSize" label="TLAB Size"/>
563 </event>
564
565 <event id="AllocObjectOutsideTLAB" path="java/object_alloc_outside_TLAB" label="Allocation outside TLAB"
566 description="Allocation outside Thread Local Allocation Buffers" has_thread="true" has_stacktrace="true" is_instant="true">
|
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 trace SYSTEM "trace.dtd" [
28 <!ENTITY % xinclude SYSTEM "xinclude.mod">
29 %xinclude;
30 ]>
31
32 <trace>
33 <xi:include href="tracetypes.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
34
35 <relation_decls>
36 <relation_decl id="GC_ID" uri="vm/gc/id"/>
37 <relation_decl id="COMP_ID" uri="vm/compiler/id"/>
38 <relation_decl id="SWEEP_ID" uri="vm/code_sweeper/id"/>
39 <relation_decl id="JAVA_MONITOR_ADDRESS" uri="java/monitor/address"/>
40 <relation_decl id="SAFEPOINT_ID" uri="vm/runtime/safepoint/id"/>
41 </relation_decls>
42
43 <!--
44
45 Events in the JVM are by default timed (it's more common)
46 Perhaps a little strange. Might change.
47
48 EVENTS
49
50 Declard with the 'event' tag.
51
52 <value fields> can be one or more of
53 value - a simple primitive or constant type value
54 structvalue - value is a sub-struct. This type must be previously defined
55 with 'struct'
56 All these require you to declare type, field and label of the field. They also accept
57 an optional description of the field. If the meaning of the field is not obvious
58 from the label you should provide a description. If an event however is not actually
59 meant for end-users, you should probably _not_ write descriptions at all, since you
60 might just add more concepts the user has no notion of/interest in.
528 <value type="INTEGER" field="sweepIndex" label="Sweep Index" relation="SWEEP_ID"/>
529 <value type="UINT" field="sweptCount" label="Methods Swept"/>
530 <value type="UINT" field="flushedCount" label="Methods Flushed"/>
531 <value type="UINT" field="markedCount" label="Methods Reclaimed"/>
532 <value type="UINT" field="zombifiedCount" label="Methods Zombified"/>
533 </event>
534
535 <!-- Code cache events -->
536
537 <event id="CodeCacheFull" path="vm/code_cache/full" label="Code Cache Full"
538 has_thread="true" is_requestable="false" is_constant="false" is_instant="true">
539 <value type="CODEBLOBTYPE" field="codeBlobType" label="Code Heap"/>
540 <value type="ADDRESS" field="startAddress" label="Start Address"/>
541 <value type="ADDRESS" field="commitedTopAddress" label="Commited Top"/>
542 <value type="ADDRESS" field="reservedTopAddress" label="Reserved Top"/>
543 <value type="INTEGER" field="entryCount" label="Entries"/>
544 <value type="INTEGER" field="methodCount" label="Methods"/>
545 <value type="INTEGER" field="adaptorCount" label="Adaptors"/>
546 <value type="BYTES64" field="unallocatedCapacity" label="Unallocated"/>
547 <value type="INTEGER" field="fullCount" label="Full Count"/>
548 </event>
549
550 <!-- Safepoint events -->
551
552 <event id="SafepointBegin" path="vm/runtime/safepoint/begin" label="Safepoint Begin"
553 description="Safepointing begin" has_thread="true" is_instant="false" has_stacktrace="false">
554 <value type="INTEGER" field="safepointId" label="Safepoint ID" relation="SAFEPOINT_ID"/>
555 <value type="INTEGER" field="totalThreadCount" label="Total Threads" description="The total number of threads at the start of safe point"/>
556 <value type="INTEGER" field="jniCriticalThreadCount" label="JNI Critical Threads" description="The number of threads in JNI critical sections"/>
557 </event>
558
559 <event id="SafepointStateSync" path="vm/runtime/safepoint/statesync" label="Safepoint State Sync"
560 description="Synchronize run state of threads" has_thread="true" is_instant="false" has_stacktrace="false">
561 <value type="INTEGER" field="safepointId" label="Safepoint ID" relation="SAFEPOINT_ID"/>
562 <value type="INTEGER" field="initialThreadCount" label="Initial Threads" description="The number of threads running at the beginning of state check"/>
563 <value type="INTEGER" field="runningThreadCount" label="Running Threads" description="The number of threads still running"/>
564 <value type="INTEGER" field="iterations" label="Iterations" description="Number of state check iterations"/>
565 </event>
566
567 <event id="SafepointWaitBlocked" path="vm/runtime/safepoint/waitblocked" label="Safepoint Wait Blocked"
568 description="Safepointing begin waiting on running threads to block" has_thread="true" is_instant="false" has_stacktrace="false">
569 <value type="INTEGER" field="safepointId" label="Safepoint ID" relation="SAFEPOINT_ID"/>
570 <value type="INTEGER" field="runningThreadCount" label="Running Threads" description="The number running of threads wait for safe point"/>
571 </event>
572
573 <event id="SafepointCleanup" path="vm/runtime/safepoint/cleanup" label="Safepoint Cleanup"
574 description="Safepointing begin running cleanup tasks" has_thread="true" is_instant="false" has_stacktrace="false">
575 <value type="INTEGER" field="safepointId" label="Safepoint ID" relation="SAFEPOINT_ID"/>
576 </event>
577
578 <event id="SafepointCleanupTask" path="vm/runtime/safepoint/cleanuptask" label="Safepoint Cleanup Task"
579 description="Safepointing begin running cleanup tasks" has_thread="true" is_instant="false" has_stacktrace="false">
580 <value type="INTEGER" field="safepointId" label="Safepoint ID" relation="SAFEPOINT_ID"/>
581 <value type="UTF8" field="name" label="Task Name" description="The task name"/>
582 </event>
583
584 <event id="SafepointEnd" path="vm/runtime/safepoint/end" label="Safepoint End" description="Safepointing end"
585 has_thread="true" is_instant="false" has_stacktrace="false">
586 <value type="INTEGER" field="safepointId" label="Safepoint ID" relation="SAFEPOINT_ID"/>
587 </event>
588
589 <event id="ExecuteVMOperation" path="vm/runtime/execute_vm_operation" label="VM Operation"
590 description="Execution of a VM Operation" has_thread="true">
591 <value type="VMOPERATIONTYPE" field="operation" label="Operation" />
592 <value type="BOOLEAN" field="safepoint" label="At Safepoint" description="If the operation occured at a safepoint."/>
593 <value type="BOOLEAN" field="blocking" label="Caller Blocked" description="If the calling thread was blocked until the operation was complete."/>
594 <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."/>
595 </event>
596
597 <!-- Allocation events -->
598 <event id="AllocObjectInNewTLAB" path="java/object_alloc_in_new_TLAB" label="Allocation in new TLAB"
599 description="Allocation in new Thread Local Allocation Buffer" has_thread="true" has_stacktrace="true" is_instant="true">
600 <value type="CLASS" field="class" label="Class" description="Class of allocated object"/>
601 <value type="BYTES64" field="allocationSize" label="Allocation Size"/>
602 <value type="BYTES64" field="tlabSize" label="TLAB Size"/>
603 </event>
604
605 <event id="AllocObjectOutsideTLAB" path="java/object_alloc_outside_TLAB" label="Allocation outside TLAB"
606 description="Allocation outside Thread Local Allocation Buffers" has_thread="true" has_stacktrace="true" is_instant="true">
|