Show TOC

Understanding Parameters in the (Condensed) Hit ListLocate this document in the navigation structure

Here is some information on the trace parameters that are displayed in the Condensed Hit List and the Hit List.

Parameter

Description

Trace Event (in Hit List) or Called Unit (in Condensed Hit List) A trace event is an ABAP statement or other operation (a database operation, for example) for which the ABAP Profiler records discrete performance data. Each individual trace event that has been recorded allows you to analyze the runtime and memory consumption of the underlying ABAP statement or other operation.
Note In the Condensed Hit List, a called unit in particular represents procedure calls such as methods, function modules, or subroutines.

The ABAP Trace does not record all ABAP statements and operations as trace events, but only those that are potentially "expensive" in terms of system resources. A CALL METHOD statement is recorded as a trace event. An IF statement is not.

Though the ABAP Profiler does not record all ABAP statements and events, a trace nevertheless gives you a rich and detailed view of program performance and execution flow, especially since all procedure call statements are recorded.

The trace events that you see in a particular ABAP trace also depend on the Profiler settings that you selected before creating the ABAP trace. More on this: Understanding ABAP Profiler Settings

Aggregation of Trace Events

Aggregation means that the runtime used in the aggregated trace events that have been called in the same manner is added up to a single total trace event entry. The Executions column is set to show how many trace events were aggregated. You can therefore calculate average values for single instances of the aggregated event.

Example: Imagine a class with methods M1 and M2. Now imagine a PROGRAM that calls M1 once and M2 twice:

  • For M1, the ABAP trace creates a single trace entry. The Executions column has the value 1.
  • Method M2 occurs as one entry in the Condensed Hit List with Executions = 2. If the call position of the first call of M2 is the same as for the second call, there will also be one entry in the Hit List with Executions = 2. However, if both call positions are different, there will be two entries in the Hit List, both with Executions = 1.

Executions The number of executions of a trace event indicates whether this trace event shows aggregated runtimes or not. If you see the value 1 in Executions, the trace event in not aggregated. The runtimes that you see then reflect a single execution of the statement or operation recorded in the trace entry.

If you see a Executions of greater than 1, that number of runs of the traced ABAP statement or operation are aggregated in the runtimes that you see. Executions 3 with an Own Time of nine seconds means that each instance of the trace event ran for an average of three seconds.

Callers Number of direct callers of a trace event. Using this parameter you can detect how many different call positions contribute to the runtime of the called unit. The number of callers of a called unit in the Condensed Hit List tells you how many different entries of the Hit List have been aggregated to this entry.
Note This parameter is available in the Condensed Hit List, but not in the Hit List.
Stacks Number of different call stacks associated with the trace event. The number tells you how many entries of the Aggregated Call Tree have been aggregated to this entry.

Own Time (Specified and Unspecified ABAP Statements) [µs] The amount of runtime in microseconds spent running a particular trace event or set of aggregated trace events, including specified ABAP statements, such as SELECT statements that require database calls.
Note This parameter is available in the Condensed Hit List, but not in the Hit List.

This runtime includes intrinsic (unspecified) statements and specified statements, but excludes all time spent in external calls that were started from the present trace event.

Example: Imagine that method M1 has a total runtime of six seconds. One tenth of a second is accounted for by creating an object that offers method M2 (specified statement). Nine tenths of a second are spent doing other intrinsic processing in M1 (unspecified statements). Five seconds more are spent in method M2 called form M1.

In the Condensed Hit List, the Own Time (Specified and Unspecified ABAP Statements) of method M1 is one second (one tenth + nine tenths of a second) because the rest of the runtime of six seconds was spent in method M2 (five seconds).

Own Time [µs] The amount of runtime in microseconds spent running a particular trace event or set of aggregated trace events. The Own Time excludes all time spent in other trace events that were started from the present trace event, such as external calls or specified statements (for example: SELECT statements).

Example: Imagine that method M1 has a total runtime of six seconds. One tenth of a second is accounted for by creating an object that offers method M2 (specified statement). Nine tenths of a second are spent doing other processing in M1 (unspecified statements). Five seconds more are spent waiting for calls from M1 to method M2 to complete.

In the Condensed Hit List and in the Hit List, the Own Time of method M1 is nine tenths of a second because the rest of the runtime of six seconds was accounted for by creating an object (100 milliseconds) and waiting for method M2 (five seconds). Each of these events has its own trace entry. Their runtimes are therefore excluded from the Own Time of M1.

Total Time [µs] The amount of runtime in microseconds from the start to the finish of a particular trace event or set of aggregated trace events. The Total Time includes time spent in other trace events started from the first trace event. In other words: it includes the runtime of external calls as well as unspecified (intrinsic) and specified statements (for example: SELECT statement that requires database calls) within the present trace event. Total Time lets you see the total contribution of the processing done within such tracing events as procedure calls.

Example: A method M1 includes unspecified statements, calls a second method M2, and also calls the database using SELECT statements. Three seconds runtime are spent for method M2 to complete, one second is spent for performing database calls, and two seconds are spent for the intrinsic, unspecified statements.

The Total Time of method M1 is six seconds, including the runtime of method M2 and database calls.

% Own Time (Specified and Unspecified ABAP Statements)

This column shows the Own Time (Specified and Unspecified ABAP Statements) of the trace event as a percentage of total ABAP trace runtime.

This column (as well as % Own Time and % Total Time) let you evaluate the importance of a particular trace event in the total runtime of a measured application. A trace event can have a long runtime. But how much of the own (total) run time is accounted for by the trace event? For example, an event with an Own Time contribution to a runtime of a couple of percent does not merit the refactoring attention that you would pay to an event with a 33% share of runtime.

% Own Time This column shows the Own Time of the trace event as a percentage of the total trace runtime.

% Total Time This column shows the Total Time of the trace event as a percentage of the total trace runtime.

Calling Program Calling Program identifies the ABAP program that initiated the trace event.

Called Program Called Program identifies the ABAP program in which the trace event is located.

These two parameters Calling Program and Called Program let you differentiate between code in your own application and the infrastructure code that originated in the ABAP Application Server.

Tip Use the filter field to show, for example, only trace events that belong to your own application.