1. Home
  2. Docs
  3. Recording
  4. Recording profile
  5. Recording methods

Recording methods

Jeyzer offers three recording techniques (Java agent, JMX, Jstack), declined in five methods. Method name can be set to :

  • AdvancedMXAgent : the Jeyzer Recorder is a Java agent loaded within the monitored process.
    This is the recommended method which offers the best data collection coverage.
  • AdvancedMXVTAgent : the Jeyzer Recorder is a Java agent loaded within the monitored process. It captures virtual threads in a dedicated file.
    This is the recommended method if the monitored application uses virtual threads (introduced in Java 21).
    Since Jeyzer 3.2
  • JMX : Jeyzer Recorder is started as a process accessing the monitored process through its JMX interface.
  • AdvancedJMX : this is a variant of the JMX method in which advanced figures exposed through the JMX figures get collected : CPU, memory, MX applicative data, applicative events.
  • Jstack : Jeyzer Recorder is calling the JDK jstack process and captures its output.
  • JstackInShell : Jeyzer Recorder is calling the JDK jstack through cmd.exe or sh and redirects its output to a file.
<method name="${JEYZER_RECORD_DUMP_METHOD}"/>

.

Advanced MX configuration

The AdvancedJMX and AdvancedMXAgent configuration is stored separately. The config_file indicates its path file.
Advanced MX configuration is detailed here.

<mx_advanced config_file="${JEYZER_RECORD_CONFIG_DIR}/profiles/${JEYZER_RECORD_PROFILE}/${JEYZER_RECORD_PROFILE}_advanced_mx.xml"/>

.

JMX parameters

The JMX parameters mainly contain the connection access parameters:

  • connection : the host and port of the JMX server separated by a semi-column
  • user : the connection user, if required
  • password : the connection password, if required
  • capture_deadlocks : indicates if the deadlock information must be captured

Note that the SSL certificate configuration must be provided on the command line or in the start script.

<jmx connection="${JEYZER_TARGET_JMX_ADDRESS}"
user="${JEYZER_TARGET_JMX_USER}"
password="${JEYZER_TARGET_JMX_PASSWORD}"
capture_deadlocks="true"/>

.

Jstack parameters

  • pid : the process pid
  • options : the jstack options.
    • -l option prints dead locks
    • -F option force stacks, to be used when process is hung
<jstack_in_shell pid="${JEYZER_TARGET_PID}" options="-l"/>
<jstack pid="${JEYZER_TARGET_PID}" options="-l"/>