Process life analysis
Let's understand the Java production issue

Jeyzer Analyzer

Jeyzer Analyzer generates the incident diagnosis report

Incident occurred in production : you need now to understand what happened, based on the JZR recording.
This is the right (post-mortem) time for a Jeyzer analysis.

Jeyzer Analyzer analyses the recording to generate a JZR report, through a web interface.
JZR report covers all the technical and business aspects of the incident and much more. It also gives recommandations.
JZR report targets multiple audiences : IT ops, support, R&D.

The Jeyzer Installer permits to deploy the Jeyzer Web Analyzer with standard settings, ready to use.
Report generation is profile driven : one will start with generic profiles and then invest on it to make it applicative specific.
In case the applicative profile is not yet available, one can still use the Jeyzer Online Analyzer, using generic profiles at this stage.

Note that Jeyzer Analyzer is handling code deobfuscation like Proguard’s one.

Jeyzer Analyzer is therefore the key player in your root cause analysis process (RCA) : you save time, efforts and get proper diagnosis.

Without it, human would spend hours digging out between 10 and 25% of the issue with the risk of raising a false positive.
And this assuming that he would have requested and received all the relevant monitoring information on time.

JZR report is the ultimate incident diagnosis report.
It is is simply an Excel report, with multiple levels of reading.
You can attach it to your support ticket, send it by email, share it with your teams.

Think about it  : no need for a complex and expensive web proprietary solution.
     E
veryone knows Excel. Everyone can access Excel (..at the difference of the proprietary solution) on his desktop or on line.

As said, multiple levels of reading are available to answer those questions:

  1. What is happening ? What are the remediation actions ?
    JZR report will give to the IT operator the right recommendations, much more than the classic and blind “Restart it !”.
  2. Which applicative functionality is involved ?
    Support engineer will dig the user/applicative root cause action, to get the exact test case for the R&D department.
  3. Which technical layer is behaving badly ?
    Developer will find its Nirvana to fix the issue and do much more as JZR reports highlights also other points.

JZR report permits to detect and highlight at a glance these types of issues :

  • Applicative issues thanks to the Jeyzer Publisher
  • Technical issues like CPU, memory and locking problems…
  • Heavy load situations : huge batch activity, important user access…
  • Contention issues : database, network…
  • Environments problems : wrong JVM settings, incorrect 3rd parties…

All of these can be of course combined and usually follow a pattern. 
Finally, Jeyzer can help you identifying thread safety issues (also known as race conditions).

JZR report translates incidents into events which can be displayed in various ways : timeline, journal..
Technical information is digested, aggregated and exposed through a large set of views : task sequences, profiling views, historical sheets, charts, generated pictures, company logo…
You take here advantage of all Excel classic features (filtering, ordering..) including the Jeyzer made easy browsing.
Technical information is also abstracted when required, thanks to the Jeyzer analysis profile.
All this can be customized according to your needs. Jeyzer staff can help you in this task.

JZR report size is between x100 Kb and several Mbs. Optimized.
More details on JZR reports here.

Profiles do drive the Jeyzer analysis. Those are called Master profiles.

Master profiles can be either generic or applicative :
– Applicative profiles are customized to reflect your application and business as well as your incident management needs.
– Generic profiles are standard ones, fully business agnostic.

A Master profile contains :
– Analysis patterns to abstract the technical information
– Excel report configuration
– Monitoring event rules
– Analysis settings

A master profile is usually referencing generic sub-profiles, also called shared profiles, like Java, Guava, Log4j, Tomcat  depending on what your application is based upon. Same applies with applicative shared profiles (proprietary libraries and frameworks).
Each sub-profile contains translation mappings and monitoring rules.

You may wonder about the applicative profile creation and maintenance: we took care of this.
For example, the analysis patterns can be generated automatically at the R&D level through Jeyzer Maven or Gradle plugins.

Analysis profiles are defined in XML and use environment variables to facilitate the staging and any centralization through profile repositories. We can also help you in your profile setup and adoption in your organization.

More details on Analysis Profiles here.

The Jeyzer Web Analyzer is a simple and intuitive web interface to generate your JZR report.

Jeyzer Web Analyzer can be deployed on any site : production, support or R&D.
It just depends on where/at what time you want to generate your report in the incident management chain.
Let’s say that your application is deployed on customer premises or on a cloud platform.
In such case, your Customer Support service will host the Jeyzer Web Analyzer.

Jeyzer Web Analyzer interface is intuitive :
First drop your JZR or JFR recording in the interface.
Profile which will drive the report generation is selected automatically, but you can still choose your own.
You can still fill up extra information that you observed or got over the phone.
Put also the ticket number and your contact. All this will be added to the report.
Then just click the Generate JZR report button.

Once done, a link will be displayed to the JZR report.
This report link will be colorized based on the detected incident level.
For example red if critical..

The Jeyzer Web Analyzer hides also the management of the JZR/JFR recordings and generated JZR reports : those are profile driven.

Jeyzer Web Analyzer is a Vaadin based web application deployed under Tomcat.
It is compatible with recent versions of Chrome, Internet Explorer 11/Edge and Firefox.

  • No Jeyzer Recorder ?
    The Jeyzer Analyzer allows you to work on series of periodic thread dumps performed with the JDK Jstack tool.
    This is obviously less powerful in terms of analysis results.
    Generated JZR report will be automatically content adapted, keeping only what can be analyzed.
    Thread dumps must be zipped to be used through the Jeyzer Web Analyzer.
    Typical thread dump command on Unix is : > watch -n 30 ‘jstack > /tmp/recording/thread-dump-${date}.txt’
  • Jeyzer Analyzer command line
    The Jeyzer Analyzer can be called from any shell script, typically in a Continuous Integration environment.
    This is very useful if you wish to analyse large end to end test sessions (Think about your QA department).
    Every morning, the JZR report will be generated at the end of your QA tests for example.
    A few environment variables need to be set and that’s it !
  • Jeyzer Replay
    The Jeyzer Replay is a Jeyzer Analyzer extension which permits to display an animation of the internal active threads of your applications. It’s like looking at the incident movie. Nice for demo purposes. Prototype at this stage.
    Note that the Jeyzer Monitor provides similar feature which is much more interesting in a CI radiator or any monitoring console.

Download

Jeyzer installer
Jeyzer Docker image

Documentation

Analysis runtime
Master profile
JZR report
Monitoring Rules

Services

Maintenance plan
Incident analysis

Online Analyzer