See the README-AGENT.txt for immediate usage instructions. --------------------------------- >> << >>> Jeyzer Recorder <<< >> << --------------------------------- Jeyzer Recorder collects the activity of your Java servers and stores it in a black box - the JZR recording - to be analyzed with the Jeyzer Analyzer. Jeyzer Recorder was initially a light weight Java thread dump collector. Its advanced version permits today to get process and system information as well as applicative data and events. Thread dumps are helpful for production monitoring, customer support and R&D services to get snapshots of server activities. A sequence of thread dumps will for example permit to identify performance bottlenecks, contention points, deadlocks and even memory outage problems or concurrency issues. In a more advanced manner, when executed over long time period, it permits to collect statistics on the server usage and establish application profiling. In its advanced form - the Jeyzer Agent Recorder - the additional collected data permit to correlate technical figures (CPU, memory, GC..) and applicative events with the internal threading activity of the monitored process. The black box analysis is performed with the Jeyzer Analyzer and translated into a JZR report. JZR reports will show the Java process activity in a comprehensive and human readable manner, highlighting any technical problem or performance issue as well as providing statistics and profiling figures and charts. JZR reports are Excel files. The black box analysis can also be performed at runtime by the Jeyzer Monitor. In this case, the JZR report will be generated if a critical event is detected and dispatched through the rights channels (email, JIRA, web). Jeyzer Recorder requires Java 7 or above. For more info, please refer to : https://jeyzer.org/jeyzer-recorder Documentation : https://jeyzer.org/docs/jzr-recording/ -------------------------------- === Recording generation === -------------------------------- Jeyzer Recorder can generates periodically recording snapshots through one of these 3 ways : a) Agent : started within the monitored process, the Jeyzer Recorder agent will access the Java MX Management interface to collect a data snapshot. Like for the JMX solution, the agent enables to collect Jeyzer MX publisher metrics (data and events), standard MX bean metrics and Java MX Platform figures. This is the recommended approach. This is the recommended approach : please read the README-AGENT.txt. This doc contains also instructions to monitor multiple Java applications. b) JMX : based on the java process JMX connection details, the Jeyzer Recorder will access the JVM JMX API to collect a data snapshot. Go to the /bin directory. Usage : >jeyzer-recorder-jmx.bat|.sh : Optionally, the JMX user and password as well as the SSL certificate configuration can be set up within the startup script. AdvancedMX enables to collect more info like Java MX Platform figures such as CPU, memory and garbage collector. AdvancedMX enables also to collect metrics and events published through the Jeyzer MX publisher or through standard MX beans (metrics only). c) Jstack : based on the java process pid, the Jeyzer Recorder is calling the JDK jstack tool and redirect its output. Go to the /bin directory. Usage : >jeyzer-recorder-jstack.bat|.sh Recording snapshot collection is not invasive for the the monitored Java process as it takes usually less than 10 ms (according to the GC pause logs). To evaluate the impact, activate the capture time printing in the recording snapshots (which is a good performance indicator of the monitored process health). Generation period is configurable. It is set by default to 30 seconds. For a production environment, it is recommended to set it to 30-60 seconds. To track concurrency issues, you may set it down to a few seconds. Each recording snapshot will be generated in a dedicated file with the following naming convention : snap-