Visit Azul.com Support

Recording with Azul Mission Control

With Azul Mission Control, you can connect to a running JVM in order to create Java Flight Recorder (JFR) recordings intuitively within the application, without using the command line or terminal.

The target JVM must meet the following requirements:

  • The target JVM’s JDK/JRE version must be 7 or later.

  • Azul Mission Control monitors Java applications over JMX. If you connect to a JVM that is running on a remote computer, the JMX port must be open on that computer. For more details about remote connection, see Connecting to a Remote JVM.

Connecting to a Local JVM

Azul Mission Control automatically detects the JVMs that are running locally and displays them in the tab "JVM Browser":

JVM Browser

Connecting to a Remote JVM

Azul Mission Control can connect to a remote system, if you prepare it to accept a JMX connection from the system where you run Azul Mission Control.

Preparing the Remote JVM

In order to connect to a JVM that is running on a remote computer, you must configure the remote Java application with the following VM parameters:

  • -XX:+FlightRecorder: enables the Flight Recording feature.

  • -Dcom.sun.management.jmxremote: enables the JMXRMI connectivity.

  • -Djava.rmi.server.hostname=<IP|hostname>: defines the RMI server host. Use an external IP address or host name of the computer where the Java program is running.

  • -Dcom.sun.management.jmxremote.port=<port>: sets a TCP port to be used for JMX connection.

  • Additionally, you may want to specify JMX authentication/SSL settings using ‑Dcom.sun.management.jmxremote.authenticate and -Dcom.sun.management.jmxremote.ssl. See the sample command below that runs a Java program with JMX authentication and SSL disabled.

Sample JVM startup command:

 
java -XX:+FlightRecorder \ -Djava.rmi.server.hostname=192.168.56.101 \ -Dcom.sun.management.jmxremote.port=7091 \ -Dcom.sun.management.jmxremote \ -Dcom.sun.management.jmxremote.authenticate=false \ -Dcom.sun.management.jmxremote.ssl=false

Configuring a Remote JVM Connection

To connect Azul Mission Control to a remote JVM:

  1. On the "JVM Browser" tab, click "New Connection" as shown below.

    JVM Browser
  2. Specify the host name/IP address of the remote box and the JMX port number.

  3. If JMX authentication is enabled, provide "User" and "Password" values.

  4. Click "Test connection" to verify the connectivity, and then save the new connection.

    JVM Connection form
  5. Your remote JVM now appears in the JVM Browser!

    JVM Browser with new remote connection

Starting a JFR Recording in Azul Mission Control

To create a recording:

  1. In the "JVM Browser", right-click the JVM node you want analyzed, and then click "Start Flight Recording".

    Start Flight Recording
  2. The "Start Flight Recording" window appears.

    Start Flight Recording options
  3. Select either "Time fixed recording" or "Continuous recording" mode, making sure to specify a recording time or maximum size/age.

    • Time fixed recording: Makes a recording for a specified amount of time (or until the application closes).

    • Continuous recording: For advanced users. This mode continuously writes JVM events to a buffer of the size or age specified. Once the buffer is full, the oldest recorded events are removed while the buffer continues to be populated with the latest JVM events. The buffer is saved to the disk based on specific triggers or time intervals.

  4. Click "Finish" to start the recording.

    In this scenario, default Flight Recorder settings for demonstration are used. However, to tune the recording session, you can click "Next" and proceed with a wizard.

    Note
    You can set the path where the .jfr files must be stored on the machine running Azul Mission Control, in the "Start Flight Recording Wizard".
  5. After you start the recording, a countdown timer appears, indicating the recording progress:

    Flight Recording In Progress