Analysis using ST12 Trace
The ST12 trace analysis will follow the below mentioned steps,
- Selection of Trace Parameters
- Start and Collect Trace
- Analyzing the Collected Trace
The Trace parameters can be categorized as below,
· Trace For
· Type of Trace
· ST12 trace can be captured for “User/Tasks”, “Work Process”, “Current Mode” and “For a Schedule”
· The User/Tasks allows the developer to select a User for whom the trace is to be captured and a task for which the trace is to be captured. Task can vary from Dialog, batch etc. Selecting * in Tasks indicate all the tasks will be captured.
· The Workprocess allows to select the server for which the trace is to be captured. In general all the servers will be captured when not specified.
· The Current Mode option is used trace the flow of a Transaction or a Program
· The Schedule option is used to run the trace for a batch job for a varied selection criterion as Job name, User name, Program associated with the Job.
Type of Trace
ST12 trace can be initiated as an ABAP Trace or Performance trace or both. Setting the Size&Duration Parameter to MAX as highlighted will ensure that the whole trace is captured in case the trace extends to a long duration.
Start and Collect of Trace
Let us assume that the trace is to be taken for flow associated with checking the Info type 0001 data of a user through PA20.
· First set the required Trace parameters. Let us select User/Task option by giving the Comment, User Name, and Task type as *. And select Start Trace
· Now open the transaction PA20 and give in the Person number and the Info type and select on Overview button highlighted below,
· Now Select End Trace in the ST12 trace screen, this will take us to the collect trace screen. Click on the execute button to collect the trace details. Make sure the highlighted check box is unchecked if the trace is to be used for future analysis.
Analyzing the collected trace
Once the trace is collected the trace is ready for analysis. In the bottom pane as highlighted, select the Trace which is of concern to us.
Then select either one of the 4 highlighted options for the analysis
· The ABAP trace is one of the most useful analysis options available in ST12 trace. It provides a Top Down flow of any Hotspot/Program/Transaction and provides a Functional Time Distribution of a flow. It displays the hierarchical order in which the call statements are executed. So it can be used to identify the issues in the flow hierarchy.
· The above screenshot is a Per Call View of the ST12 trace. The view can be changed into a Modularized by selecting the Per Mod Unit button as highlighted above. This will give a modularized flow of the Code called inside a particular module.
· The “Top Down Call Tree”(as highlighted below) option clicked when the cursor placed on a Modularization Unit Call(Method/Performs) displays all calls to the selected unit labeled as ‘0’,’1′ are statements inside this modularization units, ‘2’ the statements in modularization units one level below, and then iteratively down up to 30 levels. Letters are used to designate lower levels.
· Double clicking on any of the line navigates us to the source code. This can be used to identify the impact point.
· ST12 trace captures the minute details of the flow such as the Loop statements performance, which can be used for a detailed analysis of the flow.
· As the ABAP trace captures the complete flow, this can be used as an effective tool to identify the Customer Modifications or User Exit.
Note: The call hierarchy considers the call on Forms, Methods, Functions, SQL statements, Loops, Call Screen to PBO, PAI Modules.
Comparison of ST12 with ST05 trace
Traces only a specific user context or a transaction
Traces every action of a user on a server
ST12 trace automatically turns off with a transaction
ST05 trace has to be manually turned off
Stores the trace into database and is permanent
Stores the trace into local files and overwritten regularly
Provides a Top-Down flow used to find performance hotspot, issues identified by which are usually solved by code changes.
Provides a bottom-up flow which is suitable for identifying DB bound performance issues, which are usually solved by Performance Tuning.
SQL summary provides the details like Execution time, No. of records selected, Total duration, server details, etc. on a query on a database table. Double clicking on any record takes the flow to a screen which displays the list of programs which has queried on the table and the SELECT query as such.
The statistical records display the time related parameter of a particular transaction flow.