Visit Azul.com Support

GC Log Analyzer and Azul Zulu

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

The features below require the Supported Availability (SA) version of GC Log Analyzer, which can read log files from any OpenJDK runtime; the Community Availability (CA) version is Zing-only and cannot read Zulu logs at all. See Download Instructions for the difference between the CA and SA versions. When you load, in the SA version, log files created by Azul Zulu Builds of OpenJDK with extended Zing-style GC logging enabled, you get the following additional features.

New Features Included in Zulu (Extended Zing-Style GC Logs)

  • Java 27:

    • GC Log Analyzer now recognizes the Azul ext lines that a Zulu build with extended Zing-style GC logging interleaves with its standard unified GC log, and adds Zing-derived detail to the summary page and chart list wherever that data is present. See Extended GC Log Information below.

Extended GC Log Information

A Zulu build with extended Zing-style GC logging enabled can write additional ext, unified-logging lines alongside the standard G1, Parallel GC, or Generational ZGC log. These are enabled as a group with -Xlog:ext, or individually with tags such as -Xlog:ext+init, -Xlog:ext+sysinfo, -Xlog:ext+compstat, -Xlog:ext+deoptstat, and -Xlog:ext+persistentprofile (the last also requires -XX:ProfileLogIn= to actually produce data, since it records ReadyNow profile replay). GC Log Analyzer adds only the sections and charts backed by data actually present in the log, so a plain OpenJDK log with no ext lines is unaffected.

Summary Page

When the log carries an ext,init block, the summary page gains:

  • System Info — host name, architecture, CPU model, and hardware thread counts, OS, JDK build, and total RAM.

  • Execution Environment Info — huge page type and size, code cache page size, NUMA interleaving, container engine, and cgroup limits.

  • VM Process Info — process ID, start time, JVM command, and JVM arguments.

  • JIT Compiler Info — Tier 1 / Tier 2 compiler names and thread counts.

  • ReadyNow/RNO information — the ReadyNow flags in effect, when ReadyNow options are on the command line.

Charts

Depending on which ext,* data the log carries, the chart list gains:

  • Sysinfo, CGroup, CPU Usage, and Process — the same charts already shown for Azul Zing logs, now built from ext,sysinfo lines.

  • Compiler Statistics — Tier 1 / Tier 2 compile counts, bailouts, and invalidations, from ext,compstat lines.

  • Deopt Statistics — HotSpot deoptimization reasons not tracked by Falcon (null_assert, class_check, array_check, bimorphic, and others), from ext,deoptstat lines.

  • ReadyNow — from ext,persistentprofile lines, when the run also used -XX:ProfileLogIn=.