Usage
This section describes the usage of Anyframe Monitoring Tool in detail.
The modules in the Anyframe Monitoring Tool are discussed.
Interpreting Layer Number
In the following paragraphs, we will investigate how the numbers present in the Anyframe Monitoring Tool may be interpreted. There are a series of questions that need to be understood correctly in order to use the tool effectively.
The first of these questions is the following. In the usual cases of the numbers interpretation, the sub-level total times are equal to the higher sum of total time. However, in the following case, the numbers show a different behavior due to a certain implementation detail.

The above two panels show the total time of the APPLICATION_SERVICE with respect to the sub-level total times. The total time on the top level is 2484 (ms), however, the sum of all the added total times for the sub-level is 3125 (ms).
For this case, we need to understand that under the implementation detail, the use of multithreading is present.

Imagine that on attached screen shot you see methods executed in layer X connected to execution start and end times. There are three methods executed in two separate threads simultaneously. Method A takes 70ms, method B takes 50 ms and method C takes 30 ms. But total execution time for Layer X is only 80 ms (not 70+50+30=150 ms) because methods are executed simultaneously in several threads.
The multithreading presents clearly in this case from the number analysis. In the two above cases show that this is so, and the remaining one case also presents itself as so.
Definitions of the Labels in Statistics Window
The second question is the statistics window interpretation. We have a bunch of data with corresponding labels. We need to know clearly what these represent.
| Name of the Label
|
Definition
|
| first execution time |
the same operation can be executed several times. This value shows time spent on operation during its first execution. |
| last execution time |
the same operation can be executed several times. This value shows time spent on operation during its last execution. |
| adjusted average |
Adjusted average time it’s average time calculated without taking into account First execution time. |
| minimum execution time |
the same operation can be executed several times. This value shows minimal time spent on operation during its multiply executions. |
| maximum execution time |
the same operation can be executed several times. This value shows maximum time spent on operation during its multiply executions. |
| inclusive/exclusive mode |
Inclusive time is the time of API and all APIs that are called from this API. Exclusive time doesn’t include time spent in called APIs. |
| red highlighted numbers |
operation with average time greater than 25ms are highlighted in red. |
The above table shows the meanings of the variables mentioned.
Prepare and Execute Statements
Now, in the following picture, we would like to explain the meanings of the Prepare and Execute statements.

We see that there are a number of Execute and Prepare statements with different data labels explained above.
Here, the Prepare and Execute statements mean the internal programming methods that are taken to carry out a certain call. These are JDBC methods. Sometimes only Execute method is used, but in some cases (e.g. when you have to execute several similar SQL-queries but with different parameters) it’s better to use Prepare method in addition to Execute. In such case you must specify SQL-query in Prepare method and specify parameters in Execute method.
Sequence Invocation Trace Types
In the following picture, we would like to give explanations for two types of presentation of sequence invocations.
There are cases where the sequence invocation is only one count and other cases with many counts. If the APIs that invoke other APIs contain stack trace, then higher number of counts bigger than one can exist. Otherwise, ff operation doesn’t invoke other methods, it will not contain stack trace and only one count would be called.
Hierarchical Module Interpretation
Lastly, we would like to elucidate the meanings of the hierarchical module’s representation. The following picture shows an example.

Hierarchical module represents layers that are called in context of other layers. For example APPLICATION_SERVICE.JDBC contains information about all JDBC API that are directly called from APPLICATION_SERVICE API. Other items follow the same rule, hierarchical manner.
Select Dialogue
The "Select Dialogue" has three functionalities. The first is to select the applications and instances that are connected with the Anyframe monitoring tool. When some execution is done on a sample application such as eMarketplace, an application with its instance pops up under “Select Applications.” Thus, this allows for connecting with various applications that we want to monitor. The second functionality is whether to monitor the application’s “Live Data” or monitor in “Archive Mode.” This functionality allows for a real-time monitoring of the data or selects an interval and monitor the aggregate data collected so far in the interval selected with the calendar.

Lastly, the “Show labels for graph” either makes graphs with labels on the screen or no labels showing.
In the lower window, we see the monitoring screen. It is divided into the header, footer, left panel, top-right, bottom-right and the two middle sections that divide the header with the lower portions of the monitoring tool. The first location that we are at is the sample-web, tree. This top item shows the four items in the summary section which are namely the statistics for HTTP, SQL and JDBC. Other additional layers such as the application service may be added (noted in configuration.) The total time and count for each items are displayed. The corresponding graphs are shown with respect to time and counts with different colors and sizes of portions.

The two pictures show graphs with/without labels.
Absolute Panel
The HTTP panel shows the statistics information for the HTTP calls that are executed in the attached program. The HTTP calls are monitored and its data is shown as graphs for the execution time and count. The program’s function trace paths are shown in the trace window, displaying the total, execution times and count.

The statistics window shows the total time, count, average time, minimum execution time, maximum execution time, first executed and last executed times. The total time is the total time elapsed for a call. The count is the number of executions. The average time is the average time for the called executed so far. The adjusted average time is the average excluding the first execution. The minimum and maximum execution times are the fast and longest times for a call. The first and last executed times are the first and the last execution times for a series of calls.

The following scheme is followed for the blue bars
- The bar for the root operation is completely colored and have the largest size
- The bar size for each next level is equal to the colored part of its parent bar
- The colored part of the bar for operation is the percent of its Total Time relatively to its parent Total Time
With these bars, the bottlenecks of an application are monitored.
The following pictures show the different data collected from the Anyframe monitoring tool. The one shows the data collected from the Application level. The application contains the data for items such as HTTP, SQL, JDBC and etc. These data are shown together in one statistics window. The below picture to the right shows the JDBC information (e.g. JDBC operation’s stats.)

The first picture shows the top five SQL executions with its statistics. The detailed window shows all the SQL’s that have been called so far and there is a tooltip to display the SQL command for each line. Also, the SQL’s may be viewed by clicking on each line, and the content will be shown in the bottom of the window.

In the SQL statistics window, in the first column, the total average time is shown. For the following columns, the average time, count of calls, maximum time, minimum time, first execution time and last execution time are shown with respect to execute and prepare statements.
Last Invocation Panel
The last invocation panel serves as a way to track down the last five executions of the operations on the attached programs. The charts show the executions in terms of the total times and counts. Five sequences of the calls are shown under the last invocation panel. The panel allows the user to trace each of the calls. The below trace window shows the contents of a specific call executed.
