src/share/vm/trace/tracetypes.xml

Wed, 26 Mar 2014 14:15:02 +0100

author
ehelin
date
Wed, 26 Mar 2014 14:15:02 +0100
changeset 6608
fa21c9537e6e
parent 6418
bc7714614ad8
child 6876
710a3c8b516e
child 6949
80dd07540dde
permissions
-rw-r--r--

8035667: EventMetaspaceSummary doesn't report committed Metaspace memory
Reviewed-by: jmasa, stefank

sla@5237 1 <?xml version="1.0" encoding="utf-8"?>
sla@5237 2 <!--
sla@5237 3 Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
sla@5237 4 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
sla@5237 5
sla@5237 6 This code is free software; you can redistribute it and/or modify it
sla@5237 7 under the terms of the GNU General Public License version 2 only, as
sla@5237 8 published by the Free Software Foundation.
sla@5237 9
sla@5237 10 This code is distributed in the hope that it will be useful, but WITHOUT
sla@5237 11 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
sla@5237 12 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
sla@5237 13 version 2 for more details (a copy is included in the LICENSE file that
sla@5237 14 accompanied this code).
sla@5237 15
sla@5237 16 You should have received a copy of the GNU General Public License version
sla@5237 17 2 along with this work; if not, write to the Free Software Foundation,
sla@5237 18 Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
sla@5237 19
sla@5237 20 Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
sla@5237 21 or visit www.oracle.com if you need additional information or have any
sla@5237 22 questions.
sla@5237 23 -->
sla@5237 24
sla@5237 25 <!DOCTYPE types SYSTEM "trace.dtd">
sla@5237 26
sla@5237 27 <!--
sla@5237 28
sla@5237 29 Content types (complex) should create constant pool data
sla@5237 30 in the recording.
sla@5237 31 Currently at least, there is _NO_ verification that whatever
sla@5237 32 writer you have is actually writing correctly. So BE CAREFUL!
sla@5237 33
sla@5237 34 Declared with the 'content_type' tag.
sla@5237 35
sla@5237 36 <type> is the ID type, i.e the integer type that resolves this. Most often
sla@5237 37 U4 or U8, but for example really small number constants, like GCTYPE uses U1.
sla@5237 38
sla@5237 39 <content-type> is where it gets interesting. 'builtin_type' means we're
sla@5237 40 defining how we resolve one of the trace built-in types (Class, Thread etc),
sla@5237 41 jvm_type means defining a new one for our own use.
sla@5237 42
sla@5237 43 Example: (GcMode)
sla@5237 44
sla@5237 45 <content_type id="GCMode" hr_name="GC mode" type="U1" jvm_type="GCMODE">
sla@5237 46 <value type="UTF8" field="desc" description="Description"/>
sla@5237 47 </content_type>
sla@5237 48
sla@5237 49 This creates a content type CONTENT_TYPE_GCMODE
sla@5237 50 The field type referencing it is u1 (U1), and the constant pool struct has one field, the name.
sla@5237 51
sla@5237 52 Before we can use it we need also define a primary field data type:
sla@5237 53
sla@5237 54 <primary_type symbol="GCMODE" datatype="U1" contenttype="NONE"
sla@5237 55 type="u8" sizeop="sizeof(u1)"/>
sla@5237 56
sla@5237 57 Now we can use the content + data type in declaring event fields.
sla@5237 58 -->
sla@5237 59
sla@5237 60 <types>
sla@5237 61 <content_types>
sla@5237 62 <content_type id="Thread" hr_name="Thread"
sla@5237 63 type="U4" builtin_type="OSTHREAD">
sla@5237 64 <value type="UTF8" field="name" label="Thread name"/>
sla@5237 65 </content_type>
sla@5237 66
sla@5237 67 <content_type id="VMThread" hr_name="VM Thread"
sla@5237 68 type="U8" jvm_type="VMTHREAD">
sla@5237 69 <value type="OSTHREAD" field="thread" label="VM Thread"/>
sla@5237 70 </content_type>
sla@5237 71
sla@5237 72 <content_type id="JavaThread" hr_name="Java thread"
sla@5237 73 type="U8" builtin_type="JAVALANGTHREAD">
sla@5237 74 <value type="OSTHREAD" field="thread" label="OS Thread ID"/>
sla@5237 75 <value type="BYTES64" field="allocInsideTla"
sla@5237 76 label="Allocated bytes inside TLAs"/>
sla@5237 77 <value type="BYTES64" field="allocOutsideTla"
sla@5237 78 label="Allocated bytes outside TLAs"/>
sla@5237 79 <value type="THREADGROUP" field="group" label="Java Thread Group"/>
sla@5237 80 </content_type>
sla@5237 81
sla@5237 82 <content_type id="ThreadGroup" hr_name="Thread group"
sla@5237 83 type="U4" jvm_type="THREADGROUP">
sla@5237 84 <value type="THREADGROUP" field="parent" label="Parent"/>
sla@5237 85 <value type="UTF8" field="name" label="Name"/>
sla@5237 86 </content_type>
sla@5237 87
sla@5237 88 <content_type id="Class" hr_name="Java class"
sla@5237 89 type="U8" builtin_type="CLASS">
sla@5237 90 <value type="CLASS" field="loaderClass" label="ClassLoader"/>
sla@5237 91 <value type="SYMBOL" field="name" label="Name"/>
sla@5237 92 <value type="SHORT" field="modifiers" label="Access modifiers"/>
sla@5237 93 </content_type>
sla@5237 94
sla@5237 95 <content_type id="Method" hr_name="Java method"
sla@5237 96 type="U8" jvm_type="METHOD">
sla@5237 97 <value type="CLASS" field="class" label="Class"/>
sla@5237 98 <value type="SYMBOL" field="name" label="Name"/>
sla@5237 99 <value type="SYMBOL" field="signature" label="Signature"/>
sla@5237 100 <value type="SHORT" field="modifiers" label="Access modifiers"/>
sla@5237 101 </content_type>
sla@5237 102
sla@5237 103 <content_type id="UTFConstant" hr_name="UTF constant"
sla@5237 104 type="U8" jvm_type="SYMBOL">
sla@5237 105 <value type="UTF8" field="utf8" label="UTF8 data"/>
sla@5237 106 </content_type>
sla@5237 107
sla@5237 108 <content_type id="ThreadState" hr_name="Java Thread State"
sla@5237 109 type="U2" jvm_type="THREADSTATE">
sla@5237 110 <value type="UTF8" field="name" label="Name"/>
sla@5237 111 </content_type>
sla@5237 112
sla@5237 113 <content_type id="GCName" hr_name="GC Name"
sla@5237 114 type="U1" jvm_type="GCNAME">
sla@5237 115 <value type="UTF8" field="name" label="name" />
sla@5237 116 </content_type>
sla@5237 117
sla@5237 118 <content_type id="GCCause" hr_name="GC Cause"
sla@5237 119 type="U2" jvm_type="GCCAUSE">
sla@5237 120 <value type="UTF8" field="cause" label="cause" />
sla@5237 121 </content_type>
sla@5237 122
sla@5237 123 <content_type id="GCWhen" hr_name="GC When"
sla@5237 124 type="U1" jvm_type="GCWHEN">
sla@5237 125 <value type="UTF8" field="when" label="when" />
sla@5237 126 </content_type>
sla@5237 127
sla@5237 128 <content_type id="G1YCType" hr_name="G1 YC Type"
sla@5237 129 type="U1" jvm_type="G1YCTYPE">
sla@5237 130 <value type="UTF8" field="type" label="type" />
sla@5237 131 </content_type>
sla@5237 132
ehelin@6417 133 <content_type id="GCThresholdUpdater" hr_name="GC Treshold Updater"
ehelin@6417 134 type="U1" jvm_type="GCTHRESHOLDUPDATER">
ehelin@6417 135 <value type="UTF8" field="updater" label="updater" />
ehelin@6417 136 </content_type>
ehelin@6417 137
sla@5237 138 <content_type id="ReferenceType" hr_name="Reference Type"
sla@5237 139 type="U1" jvm_type="REFERENCETYPE">
sla@5237 140 <value type="UTF8" field="type" label="type" />
sla@5237 141 </content_type>
sla@5237 142
ehelin@6418 143 <content_type id="MetadataType" hr_name="Metadata Type"
ehelin@6418 144 type="U1" jvm_type="METADATATYPE">
ehelin@6418 145 <value type="UTF8" field="type" label="type" />
ehelin@6418 146 </content_type>
ehelin@6418 147
ehelin@6418 148 <content_type id="MetaspaceObjectType" hr_name="Metaspace Object Type"
ehelin@6418 149 type="U1" jvm_type="METASPACEOBJTYPE">
ehelin@6418 150 <value type="UTF8" field="type" label="type" />
ehelin@6418 151 </content_type>
ehelin@6418 152
sla@5237 153 <content_type id="NARROW_OOP_MODE" hr_name="Narrow Oop Mode"
sla@5237 154 type="U1" jvm_type="NARROWOOPMODE">
sla@5237 155 <value type="UTF8" field="mode" label="mode" />
sla@5237 156 </content_type>
sla@5237 157
sla@5237 158 <content_type id="VMOperationType" hr_name="VM Operation Type"
sla@5237 159 type="U2" jvm_type="VMOPERATIONTYPE">
sla@5237 160 <value type="UTF8" field="type" label="type" />
sla@5237 161 </content_type>
sla@5237 162
sla@5237 163 <content_type id="CompilerPhaseType" hr_name="Compiler Phase Type"
sla@5237 164 type="U1" jvm_type="COMPILERPHASETYPE">
sla@5237 165 <value type="UTF8" field="phase" label="phase" />
sla@5237 166 </content_type>
sla@5237 167
sla@6333 168 <content_type id="FlagValueOrigin" hr_name="Flag Value Origin"
sla@6333 169 type="U1" jvm_type="FLAGVALUEORIGIN">
sla@6333 170 <value type="UTF8" field="origin" label="origin" />
sla@6333 171 </content_type>
sla@6333 172
sla@5237 173 </content_types>
sla@5237 174
sla@5237 175
sla@5237 176 <primary_types>
sla@5237 177 <!--
sla@5237 178 - primary_type takes these attributes:
sla@5237 179 - symbol INTEGER, LONG etc
sla@5237 180 - datatype The trace datatype, see enum DataType
sla@5237 181 - contenttype Either resolved content type or the semantic meaning
sla@5237 182 - type The actual type as used in structures etc
sla@5237 183 - sizeop A function/macro that can be applied on a single
sla@5237 184 - struct value of type "type" and yield the factual byte
sla@5237 185 - size we need to write. The % is replaced by the value
sla@5237 186 -->
sla@5237 187
sla@5237 188 <!-- SIGNED 64bit -->
sla@5237 189 <primary_type symbol="LONG" datatype="LONG" contenttype="NONE"
sla@5237 190 type="s8" sizeop="sizeof(s8)"/>
sla@5237 191
sla@5237 192 <!-- UNSIGNED 64bit -->
sla@5237 193 <primary_type symbol="ULONG" datatype="U8" contenttype="NONE"
sla@5237 194 type="u8" sizeop="sizeof(u8)"/>
sla@5237 195
sla@5237 196 <!-- SIGNED 32bit -->
sla@5237 197 <primary_type symbol="INTEGER" datatype="INT" contenttype="NONE"
sla@5237 198 type="s4" sizeop="sizeof(s4)"/>
sla@5237 199
sla@5237 200 <!-- UNSIGNED 32bit -->
sla@5237 201 <primary_type symbol="UINT" datatype="U4" contenttype="NONE"
sla@5237 202 type="unsigned" sizeop="sizeof(unsigned)"/>
sla@5237 203
sla@5237 204 <!-- UNSIGNED 16bit -->
sla@5237 205 <primary_type symbol="USHORT" datatype="U2" contenttype="NONE"
sla@5237 206 type="u2" sizeop="sizeof(u2)"/>
sla@5237 207
sla@5237 208 <!-- SIGNED 16bit -->
sla@5237 209 <primary_type symbol="SHORT" datatype="SHORT" contenttype="NONE"
sla@5237 210 type="s2" sizeop="sizeof(s2)"/>
sla@5237 211
sla@5237 212 <!-- SIGNED 8bit -->
sla@5237 213 <primary_type symbol="BYTE" datatype="BYTE" contenttype="NONE"
sla@5237 214 type="s1" sizeop="sizeof(s1)"/>
sla@5237 215
sla@5237 216 <!-- UNSIGNED 8bit -->
sla@5237 217 <primary_type symbol="UBYTE" datatype="U1" contenttype="NONE"
sla@5237 218 type="u1" sizeop="sizeof(u1)"/>
sla@5237 219
sla@5237 220 <!-- float 32bit -->
sla@5237 221 <primary_type symbol="FLOAT" datatype="FLOAT" contenttype="NONE"
sla@5237 222 type="float" sizeop="sizeof(float)"/>
sla@5237 223
sla@5237 224 <!-- float 64bit -->
sla@5237 225 <primary_type symbol="DOUBLE" datatype="DOUBLE" contenttype="NONE"
sla@5237 226 type="double" sizeop="sizeof(double)"/>
sla@5237 227
sla@5237 228 <!-- boolean type (1-byte) -->
sla@5237 229 <primary_type symbol="BOOLEAN" datatype="BOOLEAN" contenttype="NONE"
sla@5237 230 type="bool" sizeop="1"/>
sla@5237 231
sla@5237 232 <!-- 32-bit unsigned integer, SEMANTIC value BYTES -->
sla@5237 233 <primary_type symbol="BYTES" datatype="U4" contenttype="BYTES"
sla@5237 234 type="u4" sizeop="sizeof(u4)"/>
sla@5237 235
sla@5237 236 <primary_type symbol="IOBYTES" datatype="U4" contenttype="BYTES"
sla@5237 237 type="u4" sizeop="sizeof(u4)"/>
sla@5237 238
sla@5237 239 <!-- 64-bit unsigned integer, SEMANTIC value BYTES -->
sla@5237 240 <primary_type symbol="BYTES64" datatype="U8" contenttype="BYTES"
sla@5237 241 type="u8" sizeop="sizeof(u8)"/>
sla@5237 242
sla@5237 243 <!-- 64-bit unsigned integer, SEMANTIC value ABSOLUTE MILLISECONDS -->
sla@5237 244 <primary_type symbol="EPOCHMILLIS" datatype="LONG" contenttype="EPOCHMILLIS"
sla@5237 245 type="s8" sizeop="sizeof(s8)"/>
sla@5237 246
sla@5237 247 <!-- 64-bit unsigned integer, SEMANTIC value RELATIVE MILLISECONDS -->
sla@5237 248 <primary_type symbol="MILLIS" datatype="LONG" contenttype="MILLIS"
sla@5237 249 type="s8" sizeop="sizeof(s8)"/>
sla@5237 250
sla@5237 251 <!-- 64-bit unsigned integer, SEMANTIC value RELATIVE NANOSECONDS -->
sla@5237 252 <primary_type symbol="NANOS" datatype="LONG" contenttype="NANOS"
sla@5237 253 type="s8" sizeop="sizeof(s8)"/>
sla@5237 254
mgronlun@6131 255 <!-- 64-bit signed integer, SEMANTIC value TICKS -->
sla@5237 256 <primary_type symbol="TICKS" datatype="LONG" contenttype="TICKS"
mgronlun@6131 257 type="Ticks" sizeop="sizeof(s8)"/>
sla@5237 258
mgronlun@6131 259 <!-- 64-bit signed integer, SEMANTIC value TICKS duration -->
mgronlun@6131 260 <primary_type symbol="TICKSPAN" datatype="LONG" contenttype="TICKS"
mgronlun@6131 261 type="Tickspan" sizeop="sizeof(s8)"/>
sla@5237 262
sla@5237 263 <!-- 64-bit unsigned integer, SEMANTIC value ADDRESS (mem loc) -->
sla@5237 264 <primary_type symbol="ADDRESS" datatype="U8" contenttype="ADDRESS"
sla@5237 265 type="u8" sizeop="sizeof(u8)"/>
sla@5237 266
sla@5237 267 <!-- 32-bit float, SEMANTIC value PERCENTAGE (0.0-1.0) -->
sla@5237 268 <primary_type symbol="PERCENT" datatype="FLOAT" contenttype="PERCENTAGE"
sla@5237 269 type="float" sizeop="sizeof(float)"/>
sla@5237 270
sla@5237 271 <!-- UTF-encoded string, max length 64k -->
sla@5237 272 <primary_type symbol="UTF8" datatype="UTF8" contenttype="NONE"
sla@5237 273 type="const char *" sizeop="sizeof_utf(%)"/>
sla@5237 274
mgronlun@5429 275 <!-- UTF-16 encoded (Unicode) string, max length maxjuint -->
mgronlun@5429 276 <primary_type symbol="STRING" datatype="STRING" contenttype="NONE"
mgronlun@5429 277 type="TraceUnicodeString*" sizeop="sizeof_unicode(%)"/>
mgronlun@5429 278
sla@5237 279 <!-- Symbol* constant. Note that this may currently ONLY be used by
sla@5237 280 classes, methods fields. This restriction might be lifted. -->
sla@5237 281 <primary_type symbol="SYMBOL" datatype="U8" contenttype="SYMBOL"
sla@5237 282 type="Symbol *" sizeop="sizeof(u8)"/>
sla@5237 283
sla@5237 284 <!-- A Klass *. The actual class is marked as "used" and will
sla@5237 285 eventually be written into the recording constant pool -->
sla@5237 286 <primary_type symbol="CLASS" datatype="U8" contenttype="CLASS"
sla@5237 287 type="Klass *" sizeop="sizeof(u8)"/>
sla@5237 288
sla@5237 289 <!-- A Method *. The method is marked as "used" and will eventually be
sla@5237 290 written into the recording constant pool. -->
sla@5237 291 <primary_type symbol="METHOD" datatype="U8" contenttype="METHOD"
sla@5237 292 type="Method *" sizeop="sizeof(u8)"/>
sla@5237 293
sla@5237 294 <!-- The type for stacktraces in the recording. Shoudl not be used by
sla@5237 295 events explicitly -->
sla@5237 296 <primary_type symbol="STACKTRACE" datatype="U8" contenttype="STACKTRACE"
sla@5237 297 type="u8" sizeop="sizeof(u8)"/>
sla@5237 298
sla@5237 299 <!-- OS Thread ID -->
sla@5237 300 <primary_type symbol="OSTHREAD" datatype="U4" contenttype="OSTHREAD"
sla@5237 301 type="u4" sizeop="sizeof(u4)"/>
sla@5237 302
sla@5237 303 <!-- VM Thread ID Note: changed from U2 to U8 for hotspot -->
sla@5237 304 <primary_type symbol="VMTHREAD" datatype="U8" contenttype="VMTHREAD"
sla@5237 305 type="u8" sizeop="sizeof(u8)"/>
sla@5237 306
sla@5237 307 <!-- Java Thread ID -->
sla@5237 308 <primary_type symbol="JAVALANGTHREAD" datatype="LONG"
sla@5237 309 contenttype="JAVALANGTHREAD" type="s8"
sla@5237 310 sizeop="sizeof(s8)"/>
sla@5237 311
sla@5237 312 <!-- Threadgroup THIS TYPE MAY NOT BE USED IN NORMAL EVENTS (ATM). Only
sla@5237 313 for thread constant pool // KK TODO: u8 should be ObjectP -->
sla@5237 314 <primary_type symbol="THREADGROUP" datatype="U4" contenttype="THREADGROUP"
sla@5237 315 type="u8"
sla@5237 316 sizeop="sizeof(u4)"/>
sla@5237 317
sla@5237 318 <!-- FRAMETYPE enum -->
sla@5237 319 <primary_type symbol="FRAMETYPE" datatype="U1" contenttype="FRAMETYPE"
sla@5237 320 type="u1" sizeop="sizeof(u1)"/>
sla@5237 321
sla@5237 322 <!-- THREADSTATE enum -->
sla@5237 323 <primary_type symbol="THREADSTATE" datatype="U2" contenttype="THREADSTATE"
sla@5237 324 type="u2" sizeop="sizeof(u2)"/>
sla@5237 325
sla@5237 326 <!-- GCName -->
sla@5237 327 <primary_type symbol="GCNAME" datatype="U1" contenttype="GCNAME"
sla@5237 328 type="u1" sizeop="sizeof(u1)" />
sla@5237 329
sla@5237 330 <!-- GCCAUSE -->
sla@5237 331 <primary_type symbol="GCCAUSE" datatype="U2" contenttype="GCCAUSE"
sla@5237 332 type="u2" sizeop="sizeof(u2)" />
sla@5237 333
sla@5237 334 <!-- GCWHEN -->
sla@5237 335 <primary_type symbol="GCWHEN" datatype="U1" contenttype="GCWHEN"
sla@5237 336 type="u1" sizeop="sizeof(u1)" />
sla@5237 337
sla@5237 338 <!-- G1YCType -->
sla@5237 339 <primary_type symbol="G1YCTYPE" datatype="U1" contenttype="G1YCTYPE"
sla@5237 340 type="u1" sizeop="sizeof(u1)" />
sla@5237 341
ehelin@6417 342 <!-- GCTHRESHOLDUPDATER -->
ehelin@6417 343 <primary_type symbol="GCTHRESHOLDUPDATER" datatype="U1" contenttype="GCTHRESHOLDUPDATER"
ehelin@6417 344 type="u1" sizeop="sizeof(u1)" />
ehelin@6417 345
sla@5237 346 <!-- REFERENCETYPE -->
sla@5237 347 <primary_type symbol="REFERENCETYPE" datatype="U1"
sla@5237 348 contenttype="REFERENCETYPE" type="u1" sizeop="sizeof(u1)" />
sla@5237 349
ehelin@6418 350 <!-- METADATATYPE -->
ehelin@6418 351 <primary_type symbol="METADATATYPE" datatype="U1"
ehelin@6418 352 contenttype="METADATATYPE" type="u1" sizeop="sizeof(u1)" />
ehelin@6418 353
ehelin@6418 354 <!-- METADATAOBJTYPE -->
ehelin@6418 355 <primary_type symbol="METASPACEOBJTYPE" datatype="U1"
ehelin@6418 356 contenttype="METASPACEOBJTYPE" type="u1" sizeop="sizeof(u1)" />
ehelin@6418 357
sla@5237 358 <!-- NARROWOOPMODE -->
sla@5237 359 <primary_type symbol="NARROWOOPMODE" datatype="U1"
sla@5237 360 contenttype="NARROWOOPMODE" type="u1" sizeop="sizeof(u1)" />
sla@5237 361
sla@5237 362 <!-- COMPILERPHASETYPE -->
sla@5237 363 <primary_type symbol="COMPILERPHASETYPE" datatype="U1"
sla@5237 364 contenttype="COMPILERPHASETYPE" type="u1" sizeop="sizeof(u1)" />
sla@5237 365
sla@5237 366 <!-- VMOPERATIONTYPE -->
sla@5237 367 <primary_type symbol="VMOPERATIONTYPE" datatype="U2" contenttype="VMOPERATIONTYPE"
sla@5237 368 type="u2" sizeop="sizeof(u2)" />
sla@6333 369
sla@6333 370 <!-- FLAGVALUEORIGIN -->
sla@6333 371 <primary_type symbol="FLAGVALUEORIGIN" datatype="U1"
sla@6333 372 contenttype="FLAGVALUEORIGIN" type="u1" sizeop="sizeof(u1)" />
sla@5237 373
sla@5237 374 </primary_types>
sla@5237 375 </types>

mercurial