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