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