ZVision to JFR Migration FAQ
- Will I still be able to use ZVision after 24.02.0.0?
- Why is ZVision being discontinued?
- How do I install JFR?
- How do I remove ZVision?
- Will I see any performance impacts when using JFR?
- How do I make a JFR Recording?
- How do I view JFR recordings?
- Does JFR have CPU Profiling (Method Profiling)?
- Does JFR have Memory Allocation Profiling?
- How do I make a JFR recording without Command Line / Terminal access to the machine?
|ZVision is quickly approaching its End-of-Life with the upcoming release of Azul Platform Prime 24.02.0.0. But don’t worry, this is nothing to be afraid of! Azul is hard at work to ensure that any functionality provided by ZVision is available using other system tools.
Azul recommends all users switch to Java Flight Recorder (JFR) and Zing Mission Control (ZMC). This page addresses the most common questions we have received concerning this change.
No, ZVision will be removed from the codebase, meaning that ZVision will not be usable with Azul Platform Prime 24.02.0.0
A security vulnerability has been identified with jQuery 1.4.3, which is used in building the ZVision and ZVRobot utilities. At this time, Azul is not aware of any vulnerability in ZVision itself. But, as a precautionary measure, we have decided to discontinue support for ZVision and eventually remove it from our codebase altogether.
Java Flight Recorder is readily available in Azul Zulu Prime JVM without the need for command-line options to enable it.
When updating to Azul Platform Prime 24.02.0.0 or later, ZVision will be removed from your system automatically.
If you do not update Azul Platform Prime and wish to remove ZVision manually, the ZVision binary file should be removed from
JAVA_HOME/bin/zvision and its assets removed from `JAVA_HOME/etc/art`a.
If you are using the command line options
-XX:+UseTickProfiler, remove them from your options.
-XX:ARTAPort is ZVision-specific and
-XX:+UseTickProfiler is automatically enabled during a JFR recording.
According to our extensive measurements, Prime’s JFR overhead is exactly the same as vanilla OpenJDK’s. We saw up to 5% overhead with the default JFR configuration. However, the default JFR configuration collects much more information than is usually needed. With some configuration (reducing the amount of collected events), JFR overhead can be dramatically reduced depending on your requirements.
There are 3 ways to make a JFR recording:
Using jcmd in the command line: This looks like
jcmd JVMID JFR.start filename=rec.jfr. See Recording a Running Application for more info.
Using Azul Mission Control. See Recording with Azul Mission Control for more info.
Using the JVM flag
-XX:StartFlightRecording. See Configuring JFR File Recording at Startup of the Application for more info.
All of these methods are outlined in the Azul Platform Prime, Java Flight Recorder documentation.
Azul provides Azul Mission Control for viewing JFR recordings. Refer to the Azul Mission Control documentation if you are unfamiliar with this tool.
Yes. CPU Profiling is enabled using either
settings=profile. These settings are defined when making a JFR recording (via jcmd or Azul Mission Control’s Flight Recorder).
On Prime Java 8, Memory Allocation Profiling is available using
settings=profile since 23.02.0.0. On Prime Java 11 and 17, Memory Allocation Profiling is available using
settings=profile since 23.06.0.0 and on Prime Java 21 since 184.108.40.206 (21-GA). In older Prime Java 11 and 17 versions, you have to enable the following configuration details and create a custom settings
.jfc file first:
In Azul Mission Control → Window → Flight Recording Template Manager → Import Files load the
Change setting for Garbage Collector to: All, incl. Heap Statistics.
Export File to
Copy the file to a location where it is accessible by the Java process under analysis. Start the recording with the custom settings:
jcmd JVMID JFR.start duration=60s filename=/DIR/myrecording.jfr settings=/DIR/memalloc.jfc.
Azul Mission Control provides a Flight Recorder which does not require command line / terminal access. See our documentation for Recording with Azul Mission Control.
Haven’t found what you’re looking for? Reach out to us and contact Azul Technical Support at [email protected].