Jeyzer Recorder deployment

Generate JZR recordings

Loaded as a standard Java agent, the Jeyzer Recorder generates JZR recordings.
Those JZR recordings will be collected and analyzed in the Jeyzer Analyzer or get automatically analyzed by the Jeyzer Monitor.
In both cases, the final output is a JZR report.

Jeyzer Recorder Usage

Generate JZR recordings

   Loaded as a standard Java agent, the Jeyzer Recorder generates JZR recordings.
Those JZR recordings will be collected and analyzed in the Jeyzer Analyzer
or get automatically analyzed by the Jeyzer Monitor.
In both cases, the output is a JZR report.

Why using Jeyzer Recorder ?

      Jeyzer Recorder is production compliant and neutral in respect to the monitored application. It is :

  • Production designed : with a well organized recording structure. Recording retention period included.
  • Performance optimized : to be non invasive inside your application
  • Class loader transparent : loaded in a separate class loader to not interfere with the monitored application.
  • Secured : recordings can be encrypted
  • Java 21+ compliant : capture virtual threads
  • Java 7 support : for old apps

Jeyzer Recorder is open source project and is under Mozilla Public License 2.0. which makes it entirely free of use.
If Jeyzer Recorder cannot be accepted yet in your production environments, the alternative is the Java Flight Recorder (Java 11+).

How does it work ?

Prerequisites : Java 7 or later version must be used.

The Jeyzer Recorder will perform thread dumps every 30 seconds and collect only the information required for a Jeyzer analysis (CPU, memory, Garbage collection, Java modules, system info, disk space) and possibly JMX data and/or events generated through the Jeyzer Publisher API.

To achieve this selective collection, a Jeyzer Recorder profile is provided in any Jeyzer installation. A standard one is used by default.

Immediate usage

Install the Jeyzer Recorder (or the Jeyzer ecosystem which contains also a recorder).
Keep in mind the application name your enter in the Jeyzer Recorder – Recording home panel.

Add the following VM parameter to the command line of the application to monitor (replace the <> as indicated) :

-javaagent:”<recorder home>/recorder/lib/jeyzer-agent.jar”=<recorder home>/recorder/config/agent/jeyzer-agent.xml;jeyzer-record-agent-profile=<application name>

     <recorder home> is the path to the Jeyzer Recorder (or Ecosystem) installation
     <application name> is the name  captured during the installation (see above).

Start your application. Let it run for some time.
The recording is visible in the <recorder home>/work/recordings/<application name>

Stop the application.
Create the JZR recording by zipping the directory <recorder home>/work/recordings/<application name>
PS : the JZR recording creation can be automated by configuration.

JZR analysis

Start the Jeyzer Web Analyzer and connect to it.

Drop the JZR recording in the upload section of the analyzer.

Select your application profile if any. Otherwise select the neutral Portal profile.

Generate the report.

Note : the Jeyzer Online Analyzer can also achieve the same, using the Jeyzer portal profile.

JZR monitoring

Other approach : analyze in real time the JZR recording.

Configure and start the Jeyzer Monitor.

The Jeyzer Monitor looks periodically at the recording, analyze it and generates events. 

Those events can be published to Zabbix, JIRA, a web server or simply sent by email.

JZR report can be generated in case of critical event.

Example

The below sample is issued from a Jeyzer demo run :

  • The JZR recording – which you can drop in the online analyzer
  • The resulting JZR report – which you can also get with the online analyzer