Data Analysis

This view is useful when you want to analyze your collected method invocations. There are only two fields that need to be fill out. You must specify both the date range and the application. Then, the analysis will be performed for those method invocations which ended within the specified time range and came from the specified application.

To perform data analysis, users must complete the form provided above. The following fields are mandatory:

  • Date: Specify the date and time as the basis for the analysis period.

  • Time Interval: Define the time range for the selected date.

  • Application: Choose the application to be analyzed.

The remaining fields are optional and aid in narrowing down the analysis results:

  • Thread Name: Enter the thread name. After inputting, the list of threads is fetched from the database, and selection can be made from the list.

  • Class Name: Provide the class name (only the class name without the package). Upon entering the name, the list of classes is fetched from the database.

  • Method: Select one of the methods from the class chosen above.

  • Parameters Pattern: Specify the parameter pattern to search for.

By filling in these fields accordingly, users can conduct a focused analysis tailored to their requirements. This structured approach helps streamline the analysis process and facilitates obtaining meaningful insights from the data.

Duration Distribution

The first part of the analysis presents the methods duration distribution with respect to percentiles. The chart below presents a sample analysis result. The analysis is performed for all methods invocations within the time range specified in the data analysis form.

The chart is divided into percentile sections. The percentile values are located on the x-axis. The left y-axis presents the method duration value, while the right one the number of method invocations. Each percentile section has a bar which represents the number of method invocations within the percentile interval. The blue curve represents the methods duration.

To properly read the chart, you need to focus on the percentile axis (x-axis). Note, the x-axis is not scaled linearly. Suppose now, we have the analysis results as the one above in the picture. We interpret the chart at 75th percentile as follows:

  • 75 percent of all invocations execute below 3 ms.

  • there are 1090 invocations whose duration is between 2 and 3 ms.

  • there are also 0 invocations with exceptions.

Note, 2 ms is taken from the previous percentile, which is 50 in this case.

It is easy to see, in the sample case, that the number of methods invocations decreases rapidly as percentile grows. There are only a few outliers, whose duration is above a minute. It is up to a user whether a further analysis is required or not. If a more detailed investigation is needed a user can proceed with the analysis by pressing the Temporal analysis button.

Temporal Analysis

This part of the analysis presents how the percentile values change in time for the specified period. There are two tabs with the results. The first one Values presents how the percentile values change in time. Just like in the duration distribution there are bars and curves. The bars represent the amounts of invocations in time periods. The curves present the percentile values of duration. There are four percentiles curves that can be displayed simultaneously, i.e. 25th, 50th, 75th and 9*th. The last one is customizable and can be changed in the Highest percentile option.

2D Analysis

The 2D analysis is represented in a form of a heatmap chart. The chart presents a distribution of one of the selected Data type with respect to both duration (vertical axis) and time (horizontal axis). The chart is divided into cells, which aggregate data for particular ranges of duration and time. For Count data type, each cell represents a number of invocations within the cell range. For Off-Cpu data type, each cell represents a percentage of method invocations, whose off-cpu time is the largest. For Exceptions data type, each cell represents a number of methods that throw exceptions.

You can change the number of cells the chart is divided into, by selecting one of the Resolution value. You can also change the range of methods that are analyzed by selecting one of the Precentile values. For example, if the Percentile value is 50, it means that the chart shows only those method invocations whose duration value is below the value at 50th percentile.

Exceptions

This view presents top ten root exceptions thrown by methods.

Last updated