1 ;
2 ; Copyright (c) 2023, 2025, Oracle and/or its affiliates. All rights reserved.
3 ; DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 ;
5 ; This code is free software; you can redistribute it and/or modify it
6 ; under the terms of the GNU General Public License version 2 only, as
7 ; published by the Free Software Foundation. Oracle designates this
8 ; particular file as subject to the "Classpath" exception as provided
9 ; by Oracle in the LICENSE file that accompanied this code.
10 ;
11 ; This code is distributed in the hope that it will be useful, but WITHOUT
12 ; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 ; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 ; version 2 for more details (a copy is included in the LICENSE file that
15 ; accompanied this code).
16 ;
17 ; You should have received a copy of the GNU General Public License version
18 ; 2 along with this work; if not, write to the Free Software Foundation,
19 ; Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 ;
21 ; Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 ; or visit www.oracle.com if you need additional information or have any
23 ; questions.
24 ;
25
26 [environment.active-recordings]
27 label = "Active Recordings"
28 table = "COLUMN 'Start', 'Duration', 'Name',
29 'Destination', 'Max Age', 'Max Size'
30 FORMAT none, none, none,
31 cell-height:5, none, none
32 SELECT LAST(recordingStart), LAST(recordingDuration), LAST(name),
33 LAST(destination), LAST(maxAge), LAST(maxSize)
34 FROM ActiveRecording
35 GROUP BY id"
36
37 [environment.active-settings]
38 label = "Active Settings"
39 table = "COLUMN 'Event Type', 'Enabled', 'Threshold',
40 'Stack Trace','Period','Cutoff', 'Throttle'
41 FORMAT none, missing:whitespace, missing:whitespace, missing:whitespace,
42 missing:whitespace, missing:whitespace, missing:whitespace
43 SELECT E.id, LAST(E.value), LAST(T.value),
44 LAST(S.value), LAST(P.value),
45 LAST(C.value), LAST(U.value)
46 FROM
47 ActiveSetting AS E,
48 ActiveSetting AS T,
49 ActiveSetting AS S,
50 ActiveSetting AS P,
51 ActiveSetting AS C,
52 ActiveSetting AS U
53 WHERE
54 E.name = 'enabled' AND
55 T.name = 'threshold' AND
56 S.name = 'stackTrace' AND
57 P.name = 'period' AND
58 C.name = 'cutoff' AND
59 U.name = 'throttle'
60 GROUP BY
61 id
62 ORDER BY
63 E.id"
64
65 [application.allocation-by-class]
66 label = "Allocation by Class"
67 table = "COLUMN 'Object Type', 'Allocation Pressure'
68 FORMAT none, normalized
69 SELECT objectClass AS O, SUM(weight) AS W
70 FROM ObjectAllocationSample GROUP BY O ORDER BY W DESC LIMIT 25"
71
72 [application.allocation-by-thread]
73 label = "Allocation by Thread"
74 table = "COLUMN 'Thread', 'Allocation Pressure'
75 FORMAT none, normalized
76 SELECT eventThread AS T, SUM(weight) AS W
77 FROM ObjectAllocationSample GROUP BY T ORDER BY W DESC LIMIT 25"
78
79 [application.allocation-by-site]
80 label = "Allocation by Site"
81 table = "COLUMN 'Method', 'Allocation Pressure'
82 FORMAT none, normalized
83 SELECT stackTrace.topFrame AS S, SUM(weight) AS W
84 FROM ObjectAllocationSample
85 GROUP BY S
86 ORDER BY W DESC LIMIT 25"
87
88 [jvm.blocked-by-system-gc]
89 label = "Blocked by System.gc()"
90 table = "FORMAT none, none, cell-height:10
91 SELECT startTime, duration, stackTrace
92 FROM SystemGC
93 WHERE invokedConcurrent = 'false'
94 ORDER BY duration DESC
95 LIMIT 25"
96
97 [application.class-loaders]
98 label = "Class Loaders"
99 table = "FORMAT missing:null-bootstrap, none, none
100 SELECT classLoader, LAST(hiddenClassCount),
101 LAST(classCount) AS C
102 FROM ClassLoaderStatistics
103 GROUP BY classLoader ORDER BY C DESC";
104
105 [jvm.class-modifications]
106 label = "Class Modifications"
107 table = "COLUMN 'Time', 'Requested By', 'Operation', 'Classes'
108 SELECT duration, stackTrace.topApplicationFrame, eventType.label, classCount
109 FROM RetransformClasses, RedefineClasses
110 GROUP BY redefinitionId
111 ORDER BY duration DESC"
112
113 [jvm.classes-by-source]
114 label = "Classes by Source"
115 table = "COLUMN 'Source', 'Count'
116 FORMAT truncate-beginning, none
117 SELECT source, COUNT(*) AS C
118 FROM jdk.ClassDefine
119 GROUP BY source
120 ORDER BY C DESC"
121
122 [jvm.compiler-configuration]
123 label = "Compiler Configuration"
124 form = "SELECT LAST(threadCount), LAST(dynamicCompilerThreadCount), LAST(tieredCompilation)
125 FROM CompilerConfiguration"
126
127 [jvm.compiler-statistics]
128 label = "Compiler Statistics"
129 form = "SELECT LAST(compileCount), LAST(peakTimeSpent), LAST(totalTimeSpent),
130 LAST(bailoutCount), LAST(osrCompileCount),
131 LAST(standardCompileCount), LAST(osrBytesCompiled),
132 LAST(standardBytesCompiled), LAST(nmethodsSize),
133 LAST(nmethodCodeSize) FROM CompilerStatistics"
134
135 [jvm.compiler-phases]
136 label = "Concurrent Compiler Phases"
137 table = "COLUMN 'Level', 'Phase', 'Average',
138 'P95', 'Longest', 'Count',
139 'Total'
140 SELECT phaseLevel AS L, phase AS P, AVG(duration),
141 P95(duration), MAX(duration), COUNT(*),
142 SUM(duration) AS S
143 FROM CompilerPhase
144 GROUP BY P ORDER BY L ASC, S DESC"
145
146 [environment.container-configuration]
147 label = "Container Configuration"
148 form = "SELECT LAST(containerType), LAST(cpuSlicePeriod), LAST(cpuQuota), LAST(cpuShares),
149 LAST(effectiveCpuCount), LAST(memorySoftLimit), LAST(memoryLimit),
150 LAST(swapMemoryLimit), LAST(hostTotalMemory)
151 FROM ContainerConfiguration"
152
153 [environment.container-cpu-usage]
154 label = "Container CPU Usage"
155 form = "SELECT LAST(cpuTime), LAST(cpuUserTime), LAST(cpuSystemTime) FROM ContainerCPUUsage"
156
157 [environment.container-memory-usage]
158 label = "Container Memory Usage"
159 form = "SELECT LAST(memoryFailCount), LAST(memoryUsage), LAST(swapMemoryUsage) FROM ContainerMemoryUsage"
160
161 [environment.container-io-usage]
162 label = "Container I/O Usage"
163 form = "SELECT LAST(serviceRequests), LAST(dataTransferred) FROM ContainerIOUsage"
164
165 [environment.container-cpu-throttling]
166 label = "Container CPU Throttling"
167 form = "SELECT LAST(cpuElapsedSlices), LAST(cpuThrottledSlices), LAST(cpuThrottledTime) FROM ContainerCPUThrottling"
168
169 [application.contention-by-thread]
170 label = "Contention by Thread"
171 table = "COLUMN 'Thread', 'Count', 'Avg', 'P90', 'Max.'
172 SELECT eventThread, COUNT(*), AVG(duration), P90(duration), MAX(duration) AS M
173 FROM JavaMonitorEnter GROUP BY eventThread ORDER BY M"
174
175 [application.contention-by-class]
176 label = "Contention by Lock Class"
177 table = "COLUMN 'Lock Class', 'Count', 'Avg.', 'P90', 'Max.'
178 SELECT monitorClass, COUNT(*), AVG(duration), P90(duration), MAX(duration) AS M
179 FROM JavaMonitorEnter GROUP BY monitorClass ORDER BY M"
180
181 [application.contention-by-site]
182 label = "Contention by Site"
183 table = "COLUMN 'StackTrace', 'Count', 'Avg.', 'Max.'
184 SELECT stackTrace AS S, COUNT(*), AVG(duration), MAX(duration) AS M
185 FROM JavaMonitorEnter GROUP BY S ORDER BY M"
186
187 [application.contention-by-address]
188 label = "Contention by Monitor Address"
189 table = "COLUMN 'Monitor Address', 'Class', 'Threads', 'Max Duration'
190 SELECT address, FIRST(monitorClass), UNIQUE(eventThread), MAX(duration) AS M
191 FROM JavaMonitorEnter
192 GROUP BY monitorClass ORDER BY M"
193
194 [application.deprecated-methods-for-removal]
195 label = "Deprecated Methods for Removal"
196 table = "COLUMN 'Deprecated Method', 'Called from Class'
197 FORMAT truncate-beginning, cell-height:10000;truncate-beginning
198 SELECT method AS m, SET(stackTrace.topFrame.method.type)
199 FROM DeprecatedInvocation
200 WHERE forRemoval = 'true'
201 GROUP BY m
202 ORDER BY m"
203
204 [environment.cpu-information]
205 label ="CPU Information"
206 form = "SELECT cpu, sockets, cores, hwThreads, description FROM CPUInformation"
207
208 [environment.cpu-load]
209 label = "CPU Load Statistics"
210 form = "COLUMN
211 'JVM User (Minimum)',
212 'JVM User (Average)',
213 'JVM User (Maximum)',
214 'JVM System (Minimum)',
215 'JVM System (Average)',
216 'JVM System (Maximum)',
217 'Machine Total (Minimum)',
218 'Machine Total (Average)',
219 'Machine Total (Maximum)'
220 SELECT MIN(jvmUser), AVG(jvmUser), MAX(jvmUser),
221 MIN(jvmSystem), AVG(jvmSystem), MAX(jvmSystem),
222 MIN(machineTotal), AVG(machineTotal), MAX(machineTotal)
223 FROM CPULoad"
224
225 [environment.cpu-load-samples]
226 label = "CPU Load"
227 table = "SELECT startTime, jvmUser, jvmSystem, machineTotal FROM CPULoad"
228
229 [environment.cpu-tsc]
230 label ="CPU Time Stamp Counter"
231 form = "SELECT LAST(fastTimeAutoEnabled), LAST(fastTimeEnabled),
232 LAST(fastTimeFrequency), LAST(osFrequency)
233 FROM CPUTimeStampCounter"
234
235 [jvm.deoptimizations-by-reason]
236 label = "Deoptimization by Reason"
237 table = "SELECT reason, COUNT(reason) AS C
238 FROM Deoptimization GROUP BY reason ORDER BY C DESC"
239
240 [jvm.deoptimizations-by-site]
241 label = "Deoptimization by Site"
242 table = "SELECT method, lineNumber, bci, COUNT(reason) AS C
243 FROM Deoptimization GROUP BY method ORDER BY C DESC"
244
245 [environment.events-by-count]
246 label = "Event Types by Count"
247 table = "SELECT eventType.label AS E, COUNT(*) AS C FROM * GROUP BY E ORDER BY C DESC"
248
249 [environment.events-by-name]
250 label = "Event Types by Name"
251 table = "SELECT eventType.label AS E, COUNT(*) AS C FROM * GROUP BY E ORDER BY E ASC"
252
253 [environment.environment-variables]
254 label = "Environment Variables"
255 table = "FORMAT none, cell-height:20
256 SELECT LAST(key) AS K, LAST(value)
257 FROM InitialEnvironmentVariable GROUP BY key ORDER BY K"
258
259 [application.exception-count]
260 label ="Exception Statistics"
261 form = "COLUMN 'Exceptions Thrown' SELECT DIFF(throwables) FROM ExceptionStatistics"
262
263 [application.exception-by-type]
264 label ="Exceptions by Type"
265 table = "COLUMN 'Class', 'Count'
266 SELECT thrownClass AS T, COUNT(thrownClass) AS C
267 FROM JavaErrorThrow, JavaExceptionThrow GROUP BY T ORDER BY C DESC"
268
269 [application.exception-by-message]
270 label ="Exceptions by Message"
271 table = "COLUMN 'Message', 'Count'
272 SELECT message AS M, COUNT(message) AS C
273 FROM JavaErrorThrow, JavaExceptionThrow GROUP BY M ORDER BY C DESC"
274
275 [application.exception-by-site]
276 label ="Exceptions by Site"
277 table = "COLUMN 'Method', 'Count'
278 SELECT stackTrace.topNotInitFrame AS S, COUNT(startTime) AS C
279 FROM JavaErrorThrow, JavaExceptionThrow GROUP BY S ORDER BY C DESC"
280
281 [application.file-reads-by-path]
282 label = "File Reads by Path"
283 table = "COLUMN 'Path', 'Reads', 'Total Read'
284 FORMAT cell-height:5, none, none
285 SELECT path, COUNT(*), SUM(bytesRead) AS S FROM FileRead
286 GROUP BY path ORDER BY S DESC"
287
288 [application.file-writes-by-path]
289 label = "File Writes by Path"
290 table = "COLUMN 'Path', 'Writes', 'Total Written'
291 FORMAT cell-height:5, none, none
292 SELECT path, COUNT(bytesWritten), SUM(bytesWritten) AS S FROM FileWrite
293 GROUP BY path ORDER BY S DESC"
294
295 [application.finalizers]
296 label = "Finalizers"
297 table = "SELECT finalizableClass, LAST_BATCH(objects) AS O, LAST_BATCH(totalFinalizersRun)
298 FROM FinalizerStatistics GROUP BY finalizableClass ORDER BY O DESC"
299
300 [jvm.gc]
301 label = "Garbage Collections"
302 table = "COLUMN 'Start', 'GC ID', 'GC Name', 'Heap Before GC', 'Heap After GC', 'Longest Pause'
303 FORMAT none, none, missing:Unknown, none, none, none
304 SELECT G.startTime, gcId, G.name,
305 B.heapUsed, A.heapUsed, longestPause
306 FROM
307 GarbageCollection AS G,
308 GCHeapSummary AS B,
309 GCHeapSummary AS A
310 WHERE B.when = 'Before GC' AND A.when = 'After GC'
311 GROUP BY gcId ORDER BY gcId"
312
313 [jvm.gc-concurrent-phases]
314 label = "Concurrent GC Phases"
315 table = "COLUMN 'Name', 'Average', 'P95',
316 'Longest', 'Count', 'Total'
317 SELECT name, AVG(duration), P95(duration),
318 MAX(duration), COUNT(*), SUM(duration) AS S
319 FROM GCPhaseConcurrent, GCPhaseConcurrentLevel1
320 GROUP BY name ORDER BY S"
321
322 [jvm.gc-parallel-phases]
323 label = "Parallel GC Phases"
324 table = "COLUMN 'Name', 'Average', 'P95',
325 'Longest', 'Count', 'Total'
326 SELECT name, AVG(duration), P95(duration),
327 MAX(duration), COUNT(*), SUM(duration) AS S
328 FROM GCPhaseParallel
329 GROUP BY name ORDER BY S"
330
331 [jvm.gc-configuration]
332 label = 'GC Configuration'
333 form = "COLUMN 'Young GC', 'Old GC',
334 'Parallel GC Threads','Concurrent GC Threads',
335 'Dynamic GC Threads', 'Concurrent Explicit GC',
336 'Disable Explicit GC', 'Pause Target',
337 'GC Time Ratio'
338 SELECT LAST(youngCollector), LAST(oldCollector),
339 LAST(parallelGCThreads), LAST(concurrentGCThreads),
340 LAST(usesDynamicGCThreads), LAST(isExplicitGCConcurrent),
341 LAST(isExplicitGCDisabled), LAST(pauseTarget),
342 LAST(gcTimeRatio)
343 FROM GCConfiguration"
344
345 [jvm.gc-references]
346 label = "GC References"
347 table = "COLUMN 'Time', 'GC ID', 'Soft Ref.', 'Weak Ref.', 'Phantom Ref.', 'Final Ref.', 'Total Count'
348 SELECT G.startTime, G.gcId, S.count, W.count, P.count, F.count, SUM(G.count)
349 FROM GCReferenceStatistics AS S,
350 GCReferenceStatistics AS W,
351 GCReferenceStatistics AS P,
352 GCReferenceStatistics AS F,
353 GCReferenceStatistics AS G
354 WHERE S.type = 'Soft reference' AND
355 W.type = 'Weak reference' AND
356 P.type = 'Phantom reference' AND
357 F.type = 'Final reference'
358 GROUP BY gcId ORDER By G.gcId ASC"
359
360 [jvm.gc-pause-phases]
361 label = "GC Pause Phases"
362 table = "COLUMN 'Type', 'Name', 'Average',
363 'P95', 'Longest', 'Count', 'Total'
364 SELECT eventType.label AS T, name, AVG(duration),
365 P95(duration), MAX(duration), COUNT(*), SUM(duration) AS S
366 FROM GCPhasePause, GCPhasePauseLevel1, GCPhasePauseLevel2,
367 GCPhasePauseLevel3, GCPhasePauseLevel4 GROUP BY name
368 ORDER BY T ASC, S"
369
370 [jvm.gc-pauses]
371 label = "GC Pauses"
372 form = "COLUMN 'Total Pause Time','Number of Pauses', 'Minimum Pause Time',
373 'Median Pause Time', 'Average Pause Time', 'P90 Pause Time',
374 'P95 Pause Time', 'P99 Pause Time', 'P99.9% Pause Time',
375 'Maximum Pause Time'
376 SELECT SUM(duration), COUNT(duration), MIN(duration),
377 MEDIAN(duration), AVG(duration), P90(duration),
378 P95(duration), P99(duration), P999(duration),
379 MAX(duration)
380 FROM GCPhasePause"
381
382 [jvm.gc-allocation-trigger]
383 label = "GC Allocation Trigger"
384 table = "COLUMN 'Trigger Method (Non-JDK)', 'Count', 'Total Requested'
385 SELECT stackTrace.topApplicationFrame AS S, COUNT(*), SUM(size)
386 FROM AllocationRequiringGC GROUP BY S"
387
388 [jvm.gc-cpu-time]
389 label = "GC CPU Time"
390 form = "COLUMN 'GC User Time', 'GC System Time',
391 'GC Wall Clock Time', 'Total Time',
392 'GC Count'
393 SELECT SUM(userTime), SUM(systemTime),
394 SUM(realTime), DIFF(startTime), COUNT(*)
395 FROM GCCPUTime"
396
397 [jvm.heap-configuration]
398 label = "Heap Configuration"
399 form = "SELECT LAST(initialSize), LAST(minSize), LAST(maxSize),
400 LAST(usesCompressedOops), LAST(compressedOopsMode)
401 FROM GCHeapConfiguration"
402
403 [application.hot-methods]
404 label = "Java Methods that Execute the Most"
405 table = "COLUMN 'Method', 'Samples', 'Percent'
406 FORMAT none, none, normalized
407 SELECT stackTrace.topFrame AS T, COUNT(*), COUNT(*)
408 FROM ExecutionSample GROUP BY T LIMIT 25"
409
410 [application.cpu-time-hot-methods]
411 label = "Java Methods that Execute the Most from CPU Time Sampler"
412 table = "COLUMN 'Method', 'Samples', 'Percent'
413 FORMAT none, none, normalized
414 SELECT stackTrace.topFrame AS T, COUNT(*), COUNT(*)
415 FROM CPUTimeSample GROUP BY T LIMIT 25"
416
417 [application.cpu-time-statistics]
418 label = "CPU Time Sample Statistics"
419 form = "COLUMN 'Successful Samples', 'Failed Samples', 'Biased Samples', 'Total Samples', 'Lost Samples'
420 SELECT COUNT(S.startTime), COUNT(F.startTime), COUNT(B.startTime), Count(A.startTime), SUM(L.lostSamples)
421 FROM
422 CPUTimeSample AS S,
423 CPUTimeSample AS F,
424 CPUTimeSample AS A,
425 CPUTimeSample AS B,
426 CPUTimeSamplesLost AS L
427 WHERE
428 S.failed = 'false' AND
429 F.failed = 'true' AND
430 B.biased = 'true'"
431
432 [jvm.jdk-agents]
433 label = "JDK Agents"
434 table = "COLUMN 'Time', 'Initialization', 'Name', 'Options'
435 FORMAT none, none, truncate-beginning;cell-height:10, cell-height:10
436 SELECT LAST(initializationTime) AS t, LAST(initializationDuration), LAST(name), LAST(JavaAgent.options)
437 FROM JavaAgent, NativeAgent
438 ORDER BY t"
439
440 [environment.jvm-flags]
441 label = "Command Line Flags"
442 table = "SELECT name AS N, LAST(value)
443 FROM IntFlag, UnsignedIntFlag, BooleanFlag,
444 LongFlag, UnsignedLongFlag,
445 DoubleFlag, StringFlag,
446 IntFlagChanged, UnsignedIntFlagChanged, BooleanFlagChanged,
447 LongFlagChanged, UnsignedLongFlagChanged,
448 DoubleFlagChanged, StringFlagChanged
449 GROUP BY name ORDER BY name ASC"
450
451 [jvm.jvm-information]
452 label = "JVM Information"
453 form = "COLUMN
454 'PID', 'VM Start', 'Name', 'Version',
455 'VM Arguments', 'Program Arguments'
456 SELECT LAST(pid), LAST(jvmStartTime), LAST(jvmName), LAST(jvmVersion),
457 LAST(jvmArguments), LAST(javaArguments) FROM JVMInformation"
458
459 [application.latencies-by-type]
460 label = "Latencies by Type"
461 table = "COLUMN 'Event Type', 'Count', 'Average', 'P 99', 'Longest', 'Total'
462 SELECT eventType.label AS T, COUNT(*), AVG(duration), P99(duration), MAX(duration), SUM(duration)
463 FROM JavaMonitorWait, JavaMonitorEnter, ThreadPark, ThreadSleep,
464 SocketRead, SocketWrite, FileWrite, FileRead GROUP BY T"
465
466 [application.memory-leaks-by-class]
467 label = "Memory Leak Candidates by Class"
468 table = "COLUMN 'Alloc. Time', 'Object Class', 'Object Age', 'Heap Usage'
469 SELECT LAST_BATCH(allocationTime), LAST_BATCH(object.type), LAST_BATCH(objectAge),
470 LAST_BATCH(lastKnownHeapUsage) FROM OldObjectSample GROUP BY object.type ORDER BY allocationTime"
471
472 [application.memory-leaks-by-site]
473 label = "Memory Leak Candidates by Site"
474 table = "COLUMN 'Alloc. Time', 'Application Method', 'Object Age', 'Heap Usage'
475 SELECT LAST_BATCH(allocationTime), LAST_BATCH(stackTrace.topApplicationFrame), LAST_BATCH(objectAge),
476 LAST_BATCH(lastKnownHeapUsage) FROM OldObjectSample GROUP BY stackTrace.topApplicationFrame ORDER BY allocationTime"
477
478 [application.method-timing]
479 label = "Method Timing"
480 table = "COLUMN 'Timed Method', 'Invocations', 'Minimum Time', 'Average Time', 'Maximum Time'
481 FORMAT none, none, ms-precision:6, ms-precision:6, ms-precision:6
482 SELECT LAST_BATCH(method) AS M, LAST_BATCH(invocations), LAST_BATCH(minimum), LAST_BATCH(average), LAST_BATCH(maximum)
483 FROM jdk.MethodTiming GROUP BY method ORDER BY average"
484
485 [application.method-calls]
486 label = "Method Calls"
487 table = "COLUMN 'Traced Method', 'Caller', 'Invocations'
488 SELECT method as M, stackTrace.topFrame.method AS S, COUNT(*) AS C
489 FROM jdk.MethodTrace GROUP BY M, S ORDER BY C DESC"
490
491 [application.modules]
492 label = "Modules"
493 table = "SELECT LAST(source.name) AS S FROM ModuleRequire GROUP BY source.name ORDER BY S"
494
495 [application.monitor-inflation]
496 label = "Monitor Inflation"
497 table = "SELECT stackTrace, monitorClass, COUNT(*), SUM(duration) AS S
498 FROM jdk.JavaMonitorInflate GROUP BY stackTrace, monitorClass ORDER BY S"
499
500 [environment.native-libraries]
501 label = "Native Libraries"
502 table = "FORMAT cell-height:2, none, none
503 SELECT name AS N, baseAddress, topAddress FROM NativeLibrary GROUP BY name ORDER BY N"
504
505 [environment.native-library-failures]
506 label = "Native Library Load/Unload Failures"
507 table = "COLUMN 'Operation', 'Library', 'Error Message'
508 FORMAT none, truncate-beginning, cell-height:10
509 SELECT eventType.label, name, errorMessage
510 FROM NativeLibraryUnload, NativeLibraryLoad
511 WHERE success = 'false'"
512
513 [jvm.native-memory-committed]
514 label = "Native Memory Committed"
515 table = "COLUMN 'Memory Type', 'First Observed', 'Average', 'Last Observed', 'Maximum'
516 SELECT type, FIRST(committed), AVG(committed), LAST(committed), MAX(committed) AS M
517 FROM NativeMemoryUsage GROUP BY type ORDER BY M DESC"
518
519 [jvm.native-memory-reserved]
520 label = "Native Memory Reserved"
521 table = "COLUMN 'Memory Type', 'First Observed', 'Average', 'Last Observed', 'Maximum'
522 SELECT type, FIRST(reserved), AVG(reserved), LAST(reserved), MAX(reserved) AS M
523 FROM NativeMemoryUsage GROUP BY type ORDER BY M DESC"
524
525 [application.native-methods]
526 label = "Waiting or Executing Native Methods"
527 table = "COLUMN 'Method', 'Samples'
528 FORMAT none, none
529 SELECT stackTrace.topFrame AS T, COUNT(*) AS C
530 FROM NativeMethodSample GROUP BY T ORDER BY C DESC"
531
532 [environment.network-utilization]
533 label = "Network Utilization"
534 table = "SELECT networkInterface, AVG(readRate), MAX(readRate), AVG(writeRate), MAX(writeRate)
535 FROM NetworkUtilization GROUP BY networkInterface"
536
537 [application.object-statistics]
538 label = "Objects Occupying More than 1%"
539 table = "COLUMN 'Class', 'Count', 'Heap Space', 'Increase'
540 SELECT
541 LAST_BATCH(objectClass), LAST_BATCH(count),
542 LAST_BATCH(totalSize), DIFF(totalSize)
543 FROM ObjectCountAfterGC, ObjectCount
544 GROUP BY objectClass
545 ORDER BY totalSize DESC"
546
547 [application.pinned-threads]
548 label = "Pinned Virtual Threads"
549 table = "COLUMN 'Method', 'Pinned Count', 'Longest Pinning', 'Total Time Pinned'
550 SELECT stackTrace.topApplicationFrame AS S, COUNT(*),
551 MAX(duration), SUM(duration) AS T FROM VirtualThreadPinned
552 GROUP BY S
553 ORDER BY T DESC"
554
555 [application.thread-count]
556 label ="Java Thread Statistics"
557 table = "SELECT * FROM JavaThreadStatistics"
558
559 [environment.recording]
560 label = "Recording Information"
561 form = "COLUMN 'Event Count', 'First Recorded Event', 'Last Recorded Event',
562 'Length of Recorded Events', 'Dump Reason'
563 SELECT COUNT(startTime), FIRST(startTime), LAST(startTime),
564 DIFF(startTime), LAST(jdk.Shutdown.reason)
565 FROM *"
566
567 [jvm.safepoints]
568 label = "Safepoints"
569 table = "COLUMN 'Start Time', 'Duration',
570 'State Syncronization',
571 'JNI Critical Threads', 'Total Threads'
572 SELECT B.startTime, DIFF([B|E].startTime),
573 S.duration,
574 jniCriticalThreadCount, totalThreadCount
575 FROM SafepointBegin AS B, SafepointEnd AS E,
576 SafepointStateSynchronization AS S
577 GROUP BY safepointId ORDER BY B.startTime"
578
579 [jvm.longest-compilations]
580 label = "Longest Compilations"
581 table = "SELECT startTime, duration AS D, method, compileLevel, succeded
582 FROM Compilation ORDER BY D LIMIT 25"
583
584 [application.longest-class-loading]
585 label = "Longest Class Loading"
586 table = "COLUMN 'Time', 'Loaded Class', 'Load Time'
587 SELECT startTime,loadedClass, duration AS D
588 FROM ClassLoad ORDER BY D DESC LIMIT 25"
589
590 [environment.system-properties]
591 label = "System Properties at Startup"
592 table = "FORMAT none, cell-height:25
593 SELECT key AS K, value FROM InitialSystemProperty GROUP BY key ORDER by K"
594
595 [application.socket-writes-by-host]
596 label = "Socket Writes by Host"
597 table = "COLUMN 'Host', 'Writes', 'Total Written'
598 FORMAT cell-height:2, none, none
599 SELECT host, COUNT(*), SUM(bytesWritten) AS S FROM SocketWrite
600 GROUP BY host ORDER BY S DESC"
601
602 [application.socket-reads-by-host]
603 label = "Socket Reads by Host"
604 table = "COLUMN 'Host', 'Reads', 'Total Read'
605 FORMAT cell-height:2, none, none
606 SELECT host, COUNT(*), SUM(bytesRead) AS S FROM SocketRead
607 GROUP BY host ORDER BY S DESC"
608
609 [environment.system-information]
610 label = "System Information"
611 form = "COLUMN 'Total Physical Memory Size', 'OS Version', 'Virtualization', 'CPU Type',
612 'Number of Cores', 'Number of Hardware Threads',
613 'Number of Sockets', 'CPU Description'
614 SELECT LAST(totalSize), LAST(osVersion), LAST(name), LAST(cpu),
615 LAST(cores), LAST(hwThreads),
616 LAST(sockets), LAST(description)
617 FROM CPUInformation, PhysicalMemory, OSInformation, VirtualizationInformation"
618
619 [environment.system-processes]
620 label = "System Processes"
621 table = "COLUMN 'First Observed', 'Last Observed', 'PID', 'Command Line'
622 FORMAT none, none, none, truncate-beginning
623 SELECT FIRST(startTime), LAST(startTime),
624 FIRST(pid), FIRST(commandLine)
625 FROM SystemProcess GROUP BY pid"
626
627 [jvm.tlabs]
628 label = "Thread Local Allocation Buffers"
629 form = "COLUMN 'Inside TLAB Count', 'Inside TLAB Minimum Size', 'Inside TLAB Average Size',
630 'Inside TLAB Maximum Size', 'Inside TLAB Total Allocation',
631 'Outside TLAB Count', 'OutSide TLAB Minimum Size', 'Outside TLAB Average Size',
632 'Outside TLAB Maximum Size', 'Outside TLAB Total Allocation'
633 SELECT COUNT(I.tlabSize), MIN(I.tlabSize), AVG(I.tlabSize),
634 MAX(I.tlabSize), SUM(I.tlabSize),
635 COUNT(O.allocationSize), MIN(O.allocationSize), AVG(O.allocationSize),
636 MAX(O.allocationSize), SUM(O.allocationSize)
637 FROM ObjectAllocationInNewTLAB AS I, ObjectAllocationOutsideTLAB AS O"
638
639 [application.thread-allocation]
640 label = "Thread Allocation Statistics"
641 table = "COLUMN 'Thread', 'Allocated', 'Percentage'
642 FORMAT none, none, normalized
643 SELECT thread, LAST(allocated), LAST(allocated) AS A FROM ThreadAllocationStatistics
644 GROUP BY thread ORDER BY A DESC"
645
646 [application.thread-cpu-load]
647 label = "Thread CPU Load"
648 table = "COLUMN 'Thread', 'System', 'User'
649 SELECT eventThread AS E, LAST(system), LAST(user) AS U
650 FROM ThreadCPULoad GROUP BY E ORDER BY U DESC"
651
652 [application.thread-start]
653 label = "Platform Thread Start by Method"
654 table = "COLUMN 'Start Time','Stack Trace', 'Thread', 'Duration'
655 SELECT S.startTime, S.stackTrace, eventThread, DIFF(startTime) AS D
656 FROM ThreadStart AS S, ThreadEnd AS E GROUP
657 by eventThread ORDER BY D DESC"
658
659 [jvm.vm-operations]
660 label = "VM Operations"
661 table = "COLUMN 'VM Operation', 'Average Duration', 'Longest Duration', 'Count' , 'Total Duration'
662 SELECT operation, AVG(duration), MAX(duration), COUNT(*), SUM(duration)
663 FROM jdk.ExecuteVMOperation GROUP BY operation"