Show TOC

Finding Top Consumers Using the Condensed Hit ListLocate this document in the navigation structure

You can use the Condensed Hit List to find top consumers with regard to procedure calls, such as methods, function modules, subroutines, or other kind of calls (for example: CALL TRANSACTION, CALL SCREEN).

Prerequisites

  • You have created an ABAP trace of your program. The ABAP trace has the status Finished.
  • The ABAP trace is not aggregated by Call Position. More on this: Aggregation Options in ABAP Traces

Context

Remember, in the Hit List tool, trace events are aggregated by their call position so that no stack information is available, whereas in the Condensed Hit List, aggregation is independent from the call position and depends only on the called unit. See also: Aggregation Options in ABAP Traces

Aggregation means that the runtime used in those aggregated trace events that have been called in the same way, is added up to one single trace event entry. The Executions column displays how many trace events have been aggregated.

EXAMPLE

Imagine a class with methods M1, M2, and M3. Now imagine a program PROG that calls M1 twice at the same call position. The first call of M1 implies also the call of method M2. Finally, M2 is called through the method M3, as shown in the figure below. In the Condensed Hit List, the ABAP Profiler creates a single trace entry for each method M1, M2, and M3. The Executions column has the value 2 for M1 and M2.

Trace events in the Hit List and in the Condensed Hit List
Figure 1: Trace events in the Hit List and in the Condensed Hit List

Use the Condensed Hit List to do the following:

  • Analyze the runtime consumption of individual procedure calls in your ABAP application - how long does it take for a method, function module, or subroutine call to run?
  • Find top consumers among the procedure calls.
  • Analyze how the runtime consumption of an individual procedure call is distributed to intrinsic (unspecified) ABAP statements, to external calls, and to specified ABAP statements (for example: SELECT statements that require database calls).

Here is how to use the Module Hit List to evaluate potential top consumers under the procedure calls in an ABAP program.

Procedure

  1. To open the Condensed Hit List, select the relevant trace in the Start of the navigation path ABAP Traces End of the navigation path view and choose Show Condensed Hit List from the context menu.
    Note Alternatively, double-click the trace in the ABAP Traces view to open the Overview page of the trace and then choose the Condensed Hit List tab.
    The Condensed Hit List provides you with a list of individual procedure calls within an ABAP trace. Each trace event is aggregated to a method, function module, subroutine, or other kind of procedure call.
  2. Identify those trace events (procedure calls) that cost disproportionate amounts of runtime and perhaps could be optimized. You can pay special attention to the Executions, Own Time (…), and Total Time columns. See also: Understanding Parameters in the (Condensed) Hit List
    Trace Parameters in Condensed Hit List
    Figure 2: Trace Parameters in Condensed Hit List

    Here you can focus your view on specific aspects.

  3. To drill down to the relevant data, select the called unit of your interest, open the context menu, and select the desired option:
    Choose ...
    Option Description
    Show Called Unit in Source Code ... to navigate to the source code position where the procedure is implemented.
    Show All Executions ... to display all executions of the selected trace event (procedure call). The results are displayed in the Search view and allow you to detect the runtime portion for each individual execution of the trace event.
    Note This option is only enabled for aggregated trace events (number of Executions > 1)
    Show in Call Sequence ... to analyze the execution path of the procedure call.
    Note This option is only enabled for non-aggregated trace events (number of Executions = 1). The runtimes that you see for the trace event reflect a single execution of the procedure call that has been recorded in the trace entry.
    Show Call Stack ... to analyze the distribution of executions over the different call stacks. This view on data allows you to follow from where the current trace event is called.
    Show in Aggregated Call Tree ... to analyze aggregated data in the call tree.
    Show in Hit List ... to analyze in detail the different call positions of the called unit.
    System Events ... if you want that system events (for example: methods of system programs) are displayed.