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,
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"