Analysis takes a long time / controller appears down during analysis

Sometimes, if viper (the process doing static analysis) is slow the controller will appear down during analysis and will recover automatically after some time.

As an immediate workaround, disable the static analysis by opening Configure Parameters dialog and turnining on Pause Static Analysis switch

Collecting Performance Data for Viper using OpenJDK Java Flight Recorder

This procedure produces a file a .jfr file that can be analyzed with “Java Mission Control” tool (downloadble from the OpenJDK site). vFunction can use this file to pinpoint issues related to the performance of viper.

Pre-requisites

  • A full version of OpenJDK 17 installed. The vFunction installer includes just a subset, known historically as the JRE, and we need a tool not available there.

  • Viper needs to run with a HotSpot Java VM (as opposed to OpenJ9 VM) - this is what the installer is setting up on Linux, but not on Windows or AIX.

OpenJDK, which includes the HotSpot JVM, is freely available on https://adoptium.net/

Recording

You need to plan the duration of the recording and when to start it. For example, you can start the recording right before making a change in the measurement that will enfornce static analysis and do a recording for 5 min. If you are unsure, consult your vFunction contact.

  1. Find the viper process ID, either by doing

    ps -ef | grep viper
    
  2. Record the data by doing:

jcmd <process id> JFR.start duration=<duration in seconds>s filename=myrecording.jfr

For example:

jcmd 12345 JFR.start duration=300s filename=myrecording.jfr

Note: You must have jcmd in your the JDK bin directory in your system PATH or alternatively specified the full path to jcmd in the above commands.

  1. Wait for the duration of the recording and share the file with vFunction for analyzing the bottle necks causing the bad performance.