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 JDKjstack
process and captures its output.
JstackInShell
: Jeyzer Recorder is calling the JDKjstack
throughcmd.exe
orsh
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-columnuser
: the connection user, if requiredpassword
: the connection password, if requiredcapture_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 pidoptions
: 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"/>