Visit Azul.com Support

GC Log Analyzer and Azul Zing

Table of Contents
Need help?
Schedule a consultation with an Azul performance expert.
Contact Us

GC Log Analyzer can read log files from any OpenJDK runtime, but when you load such files created by Azul Zing Builds of OpenJDK (Zing), you get the following additional features.

New Features Included in Zing

  • 19.08.0.0:

    • The SYSINFO line in the GC log is enhanced to include information about cgroup limits and usage, where applicable.

  • 24.07.0.0:

    • GC Log Analyzer’s summary page now includes the ID of the current run from Ready Now Orchestrator, listed as Current VM ID.

    • GC Log Analyzer’s info page now includes the container OS along with the node OS.

  • 24.12.0.0 (and stable 24.08.201.0):

    • The InterruptedCompiles and CompileRequestsNotSent fields are recorded in the GC log, and are charted in Tier 2 Compile Counts under CNC Compiler Statistics. These fields tell you when and how many compile requests were interrupted and/or not sent by the Cloud Native Compiler (CNC) client.

  • 25.08.0.0:

    • Pressure Stall Information (PSI) metrics for CPU, memory, and IO stalls are recorded in the GC log, and are displayed on the System Information page.

  • 26.02.101.0:

    • Actual CPU time and cached CPU time are recorded separately in the GC log. Both are charted as Actual CPU Time and Cached CPU Time in the Total Times chart under CNC Compiler Statistics. In earlier Zing versions, both were recorded under a single CPU Time field.

  • 26.08.0.0:

    • Compilation Streaming statistics are recorded in the GC log, and are charted under CNC Compiler Statistics (Stream Lookups, Stream Wall Time Distribution, Tier 2 Compile Counts (Total), and Total Times), Compiler Statistics (Tier 2 Compile Counts), and Native Memory Usage (the CompStream and CompStreamArena categories).

    • Recompilation Scanner statistics are recorded in the GC log as RECOMPSCANSTATS lines, and are charted in the Recompilation Scanner section. For the options that control this feature, see the section below.

Per-Thread CPU Utilization in GC Log

The per-thread CPU utilization tracking feature (available from Azul Zing 23.06.0.0) allows the collection and charting of per-thread CPU core usage statistics. This gives the ability to view the CPU usage of an application and JVM internal threads of the process over time. JVM internal threads are grouped into known categories (for example compiler or GC group) to make analysis of threads simpler. There is also an option to include CPU usage from other processes on the system.

Per-thread CPU utilization is turned on using the option -XX:+PrintCPUUtilization, which is disabled by default due to the potential overhead from data collection.

For options related to this feature, see Command Line Options.

Recompilation Scanner Statistics in GC Log

The Recompilation Scanner (available from Azul Zing 26.08.0.0) periodically inspects compiled methods and enqueues recovery recompiles for methods that are running below their intended optimization level. Statistics for each scan iteration are written to the GC log as RECOMPSCANSTATS lines, and GC Log Analyzer charts them in the Recompilation Scanner section.

Writing these statistics to the GC log is controlled by the option -XX:+GCLogPrintRecompStatistics, which is enabled by default. One record is written per scan iteration rather than per GC cycle, so the values in consecutive records are cumulative.

For options related to this feature, see Command Line Options.