Jump to Content
  Previous Next
Content starts here

3. Create JRA Recording

It is simple to create a JRA recording, you only need to select a profile that you want to use. You can create recordings that either contain all "regular" JRA data or more extensive ones that also contain thread latency data. This section explains the difference between using the profile "JRA Recording Normal" without the advanced settings and with the advanced settings. There are alternative ways to start a JRA recording (see Alternative Ways to Start a JRA Recording).

Note: If you are running Mission Control on a Windows system, you need to be a member of the Administrators or the Performance Logs user groups to create a JRA recording. The typical error message, for not being part of either of these groups, can look like this:
[perf ] Failed to init virtual size counter:

The instructions for how to use the JRA Recording Normal profile is described in:

For instructions on how to create a JRA recordings that includes latency data, see Creating a JRA Recording with Latency Data.

To use the normal recording profile
  1. Make sure that your application is running and is under load.
  2. If you run the application without load, the data captured from that application will not show where there is room for improvement.

  3. In the JRockit Browser, select the JRockit instance you just started or select an entire folder with running JRockit instances.
  4. Click the Start JRA recording button.
  5. The JRA Recording dialog box appears (Figure 2-2).

    Figure 2-2 Start JRA Recording Dialog Box


     Start JRA Recording Dialog Box

  6. Select the connection you want to record.
  7. From the Select recording file drop-down list, choose JRA Recording Normal.
  8. This option is the "classic" JRA recording. This file contains all information that you as a returning user have found in JRA recordings for previous Mission Control and JRockit releases.

  9. If you are using Mission Control as an Eclipse plug-in and you want to use a different filename for the recording file or save it to a different project, click Browse.
  10. The Browse for Project dialog box appears (Figure 2-3).

    Note: If you are using a standalone version of Mission Control or you don't want to change the recording filename or project, skip this step and proceed to step 10.
    Figure 2-3 Browse for Project Dialog Box


    Browse for Project Dialog Box

  11. Select the project and folder wherein you want to save the recording.
  12. If you want, enter a new Filename.
  13. Click Finish.
  14. The dialog box closes.

  15. Set a recording time for the duration of the recording in the Recording time field.
  16. Select the time unit you wish to use for specifying the recording time (minutes or seconds).
  17. Note: If you set a time that is too short, e.g. shorter than 30 seconds, you will probably not get enough sample data for the recording to be meaningful.
  18. Click Start.
  19. The JRA recording progress window appears. When the recording is finished, it loads in the JRA Tool.

To use the normal recording profile with advanced options
  1. Make sure that your application is running and is under load.
  2. If you run the application without load, the data captured from that application will not show where there is room for improvement.

  3. In the JRockit Browser, select the JRockit instance you just started or select an entire folder with running JRockit instances (if you select a folder, you need to select the JRockit you want to monitor within the JRA Recording dialog box).
  4. Select the connection you want to record.
  5. From the Select recording file drop-down list, choose JRA Recording Normal.
  6. Click Show Advanced Options.
  7. A panel with all options for creating a recording become visible (Figure 2-4).

    Figure 2-4 JRA Recording with advanced option selected


    JRA Recording with advanced option selected

  8. If you are using Mission Control as an Eclipse plug-in and you want to use a different filename for the recording file or save it to a different project, click Browse.
  9. The Browse for Project dialog box appears (Figure 2-3).

    Note: If you are using a standalone version of Mission Control or you don't want to change the recording filename or project, skip this step and proceed to step 10.
  10. Select the project and folder wherein you want to save the recording.
  11. If you want, enter a new Filename.
  12. Click Finish.
  13. The dialog box closes.

  14. Set a recording time for the duration of the recording in the Recording time field.
  15. Select the time unit you wish to use for specifying the recording time (minutes or seconds).
  16. Note: If you set a time that is too short, e.g. shorter than 30 seconds, you will probably not get enough sample data for the recording to be meaningful.
  17. Set a delay for when the recording should start in Delay before starting recording.
  18. It is good to set a delay if you know that your application has, for example, a long warm-up period.

  19. Select none, one, or all of the following options:
    • Enable method sampling-records samples of methods.
    • Enable GC sampling-records garbage collection events.
    • Enable native sampling-records samples of native code.
    • Stacktraces-records method stack traces.
    • Trace depth-decides how "deep" (how many levels that they contain) the stack traces should go.
    • Sample time-decides how often samples should to be taken. If you set a small number, samples will be taken more frequently.
    • Hardware sampling-records sample data in the same manner as the command-line option -xxhpm.
    • Heap statistics-forces a garbage collection in the beginning and end of the recording to get Java heap data.
    • Thread dumps-creates thread dump data in the beginning and end of recording. If you set the Thread dump interval, you will also get thread dump data during the recording.
    • Thread dump interval-the time interval for how often thread dumps should be created. The thread dumps are displayed on the Threads tab in the JRA Tool.
    • Enable Latency Recording-creates latency data, see Creating a JRA Recording with Latency Data for more information.
    • Latency threshold-sets latency threshold, see Creating a JRA Recording with Latency Data for more information.
    • Enable CPU sampling-records JVM system and user load data and CPU usage. The information that is recorded is visible on the latency tabs.
    • CPU sample interval-sets the time interval for how often CPU sampling should be performed.
  20. Click Start.
  21. The JRA recording progress window appears. When the recording is finished, it loads in the JRA Tool.

See Also

There are alternate ways to start a JRA recording, see Starting a Recording with jrcmd and Starting a Recording From the JRockit Command Line.

About JRA Overhead when Recording

The overhead while recording is very low-typically less than two percent. If you enable Java Lock profiling with the system property -Djrockit.lockprofiling=true the overhead could be considerable greater, typically between 3% and 25% depending upon the application. However, since JRA is forcing a full garbage collection at the beginning and at the end of the recording to generate the heap histogram data, there may be a spike at the beginning and at the end of a recording. This can be fixed by turning off the option Heap Statistics in the JRA recording window (see Figure 2-4).

  Previous Next