You are on page 1of 69

SAP Solution Manager 7.

0 EhP1

End-to-End Diagnostics
User Guide
End-to-End Trace Analysis
Valid starting with Solution Manager SP23
Version 1.7, July 2010
END-TO-END DIAGNOSTICS
USER GUIDE END-TO-END TRACE
ANALYSIS

Typographic Conventions Icons


Type Style Represents Icon Meaning
Example Words or characters quoted Caution
Text from the screen. These
include field names, screen Example
titles, pushbuttons labels,
menu names, menu paths,
and menu options. Note
Cross-references to other
documentation. Recommendation
Example Emphasized words or
text phrases in body text, graphic Syntax
titles, and table titles.
EXAMPLE Technical names of system
TEXT
objects. These include report
names, program names,
transaction codes, table
names, and key concepts of
a programming language
when they are surrounded
by body text, for example,
SELECT and INCLUDE.
Example Output on the screen. This
text includes file and directory
names and their paths,
messages, names of
variables and parameters,
source text, and names of
installation, upgrade and
database tools.
Example Exact user entry. These are
text words or characters that you
enter in the system exactly
as they appear in the
documentation.
<Example Variable user entry. Angle
text> brackets indicate that you
replace these words and
characters with appropriate
entries to make entries in the
system.
EXAMPLE Keys on the keyboard, for
TEXT example, F2 or ENTER.
END-TO-END DIAGNOSTICS
USER GUIDE END-TO-END TRACE
ANALYSIS

Contents
1 Introduction ......................................................................................................................................... 4
1.1 How to Use this document .......................................................................................................... 4
1.2 Required Software Components................................................................................................. 4
2 Architectural overview ........................................................................................................................ 4
2.1 Trace enabling ............................................................................................................................. 4
2.2 Performing a trace ....................................................................................................................... 5
2.3 Collecting traces.......................................................................................................................... 6
3 Application in detail............................................................................................................................. 7
3.1 Trace enabling ............................................................................................................................. 7
3.1.1 Specify trace locations for tracing with level high.................................................................... 7
3.1.2 Options .................................................................................................................................. 9
3.2 Trace triggering with SAP Client Plug-In.................................................................................. 10
3.2.1 Explanation of trace levels ................................................................................................... 10
3.2.2 Record a navigation step...................................................................................................... 11
3.2.3 Manual upload of the client trace files to Solution Manager Diagnostics (optional) ............... 15
3.3 Trace triggering with SAP SAPGUI........................................................................................... 16
3.3.1 Limitations of /SDF/E2E_TRACE ......................................................................................... 16
3.3.2 Explanation of trace level ..................................................................................................... 16
3.3.3 Record navigation steps....................................................................................................... 17
3.4 Trace triggering with SAP BW Business Explorer Analyzer................................................... 19
3.4.1 Trace level ........................................................................................................................... 19
3.4.2 Global Settings of BEx Analyzer........................................................................................... 19
3.4.3 Download and install SAP Client Plug-In.............................................................................. 20
3.4.4 Enable tracing on BW system .............................................................................................. 21
3.4.5 Record navigation steps....................................................................................................... 22
3.4.6 Upload trace file manually .................................................................................................... 26
3.4.7 Analyze trace file.................................................................................................................. 28
3.5 Collecting traces........................................................................................................................ 31
3.5.1 Options ................................................................................................................................ 33
3.6 Trace evaluation ........................................................................................................................ 34
3.6.1 Business Transactions ......................................................................................................... 34
3.6.2 HTTP Analysis ..................................................................................................................... 38
3.6.3 Server Analysis .................................................................................................................... 52
3.6.4 Trace Comparison................................................................................................................ 58
4 Appendix............................................................................................................................................ 63
4.1 Best Practices of Performing E2E Trace Analysis .................................................................. 63
4.2 Client-Side Performance Counter............................................................................................. 64
4.3 Limitation for IE7.0..................................................................................................................... 65
4.4 EEM Related Configuration....................................................................................................... 66
4.5 Other New Features of SAP Client Plug-In............................................................................... 67
5 Glossary ............................................................................................................................................. 69
End-to-End Diagnostics 4
User Guide End-to-End Trace Analysis

1 Introduction

1.1 How to Use this document

The purpose of this document is to describe the architecture of the E2E Trace starting with SP23, describe some
restrictions and help the users with problems during the setup, the use and the troubleshooting of E2E Trace in the
Solution Manager and the Solution Manager Diagnostics.

1.2 Required Software Components


The latest mandatory Software Components are mentioned in SAP Note 1274287.

This note contains all required SPs and notes that have to be applied. Those SPs and Notes are a prerequisite for all
E2E applications. If those prerequisites are not fulfilled completely the E2E Trace Analysis application might not work
properly.

2 Architectural overview

2.1 Trace enabling


Tracing with a high level could have negative impact on the system resources in the analyzed system. It could increase
the CPU usage as well as storage space in database or file system. Therefore it is necessary that systems could be
protected against such situations. The system administrator can allow centrally (in Solution Manager) if tracing in a
managed system is allowed or not.

Solution Manager ABAP Managed


Systems
Java ABAP
Reg.Prog ID RFC Profile
E2E TA WEBADMIN SMSY
RFC parameter

Java Managed
Systems
P4
SMD
Agent Mbean

For each managed system the trace has to be allowed. For ABAP systems this is done by setting the dynamical profile
parameter rstr/accept_remote_trace and for J2EE engines via mbeans of the apptracing service.

The traces itself will be triggered/written with each request containing the SAP-PASSPORT and a certain trace flag and
only for this request.

©SAP AG 2008
End-to-End Diagnostics 5
User Guide End-to-End Trace Analysis

2.2 Performing a trace


When an E2E trace is performed a passport is sent with each request trough all monitored systems. This passport
contains amongst other information Trace Flags and correlators. Depending of the Trace flags each system will write
the relevant traces locally.

The browser is instrumented by the SAP Client Plug-In for IE which measures on client side the CPU consumption for
each click as well as times when an HTTP request exits and enters the browser. Furthermore the Plug-In modifies each
HTTP header and add a correlator (X-CorrelationId) and the SAP-Passport (containing the trace flags and other
correlators). The client-side measured data (CPU times, response time, data transferred and received) is written in an
XML file (BusinessTransaction.xml) and uploaded to the Solution Manager Diagnostics automatically if a correct direct
connection (URL and Port) are provided in the Plug-In dialog.

X-CorrelationID
Each HTTP request leaving the instrumented browser contains the X-CorrelationId and the SAP-Passport either as
HTTP header field or as URL parameter. The X-CorrelationId triggers logging in the Web Server (ICM and SAP J2EE
Engine).

Transaction ID
The Transaction ID (or dsrGuid) is in ABAP a GUID for a Logical Unit of Work (LUW). It is part of the SAP-Passport
and is transferred with each RFC communication and dialog step. It is persisted in traces (e.g. SQL Trace and ABAP
trace) and other logs required for analysis (J2EE default.trc or ABAP Shortdumps).

©SAP AG 2008
End-to-End Diagnostics 6
User Guide End-to-End Trace Analysis

2.3 Collecting traces


The following picture explains how the different traces are collected.

HTTP browser
BusinessTransaction.xml

HTTP
Solution Manager ABAP Managed
Systems
Java ABAP
Reg.Prog ID Icm HTTP log
E2E TA WEBADMIN SMSY RFC
RFC ABAP SSR

SQL TRACE

ABAP Trace
JDBC

Java Managed
P4 Systems

Wily EM
SMD Agent HTTPresponses*.tr
c
dsr

sat_sqltrace.*.xml

Byte Code agent

The SAP Solution Manager Diagnostics collect all relevant statistic records, traces and logs from all involved systems
based on the information you provided in the Transaction SMSY of your SAP Solution Manager.

©SAP AG 2008
End-to-End Diagnostics 7
User Guide End-to-End Trace Analysis

3 Application in detail
Performing an E2E trace can be separated in four general steps:

1. Allow tracing in the managed systems (trace enabling)


2. Perform a trace
3. Collect all traces
4. Evaluate all traces

3.1 Trace enabling


In the E2E Trace application tracing for all selected managed systems can be allowed centrally in the tab 'Trace
Enabling'.

The screen shot above displays the tracing status for the two J2EE systems C60 and F16 and the ABAP system C60.
In this case tracing is not allowed in any system.

Possible states are:

Tracing is enabled and allowed in that system


Tracing is disabled and not allowed in that system
Trace Status is unknown
(This status is only available for ABAP systems). See details in error message or in default.trc of the Solution
Manager Diagnostics.

With the button 'Enable All' tracing will be allowed for all systems in this landscape.

With the buttons 'Enable' you can allow tracing explicitly for the selected system.
The 'Disable (All)' buttons work respectively.

3.1.1 Specify trace locations for tracing with level high


Within the E2E trace application you can specify in advance the log levels for certain log locations. Those log levels will
be used when the end-user records a trace with trace level High. Take account that those log levels will only be used
for the user who is performing the trace. All other users working on the system(s) will not be affected.

©SAP AG 2008
End-to-End Diagnostics 8
User Guide End-to-End Trace Analysis

Example:
You want to increase the log level for location com.sap.tc.webdynpro.sessionmanagement to severity level DEBUG as
described for instance in a certain SAP note or as requested by a support employee.

Enter the location name in the field New Location and press the 'Include'.

For taking over this setting press 'Apply'.

Background:

In the J2EE engine are several locations predefined. These available locations are
grouped package names. You can also choose a location from the table 'Available
Locations' but this will enable logging for all Classes of this package hierarchy.

If you want to get only Info Messages you can choose one or several locations from the
table 'Available Locations' but when you need DEBUG information it is recommended to
restrict this only for one package and not for a complete package hierarchy.

Caution:

Specifying a location too generic (e.g. sap.com.*) with Severity DEBUG could lead to
high response times and high system load even for single user traces.

©SAP AG 2008
End-to-End Diagnostics 9
User Guide End-to-End Trace Analysis

Storing Templates
The chosen and entered locations with the severity levels can be stored as templates and can be reused later by
another admin/support user or for another trace.

Enter a self-explaining name in the field 'Template Name' and press save. In the example above you could enter 'WD
sessions ALL'. All stored templates can be displayed in the tray templates:

3.1.2 Options
Under the ‘Options’ tab you can specify a time frame for automatic trace deactivation in the managed systems.

The default value is 30 minutes.

©SAP AG 2008
End-to-End Diagnostics 10
User Guide End-to-End Trace Analysis

3.2 Trace triggering with SAP Client Plug-In

3.2.1 Explanation of trace levels


The SAP Client Plug-In provides four different trace levels:

Trace level None


No trace is written on server side. This is helpful if you want to trace only the end-user experience on client-side.

Trace level Low


Only statistical records and HTTP log entries are written. HTTP logs are required for HTTP analysis providing front-
end, server response times (HTTP logs) and derived network times. Statistical records are utilized to show the
relationship between different managed systems and to show how much time is spent on each system. No server-side
traces are triggered in this case and thus the performance overhead is very low. Use this trace level if you want to do
performance measurements.

Trace Level Medium


This trace level represents a performance trace. In the table below you can see which traces are triggered when using
this trace level. Use this trace level when you have identified a performance bottleneck and you want to do a drill-down.

Trace Level High


This Trace level represents a functional trace. Depending on the chosen location, this could have significant impact on
the response time.
The following table gives an overview of the traces written per trace level.
J2EE
Introscope
Trace HTTP SQL Transaction
level log Trace Logging Trace
None
Low x
Medium x x X
High x x x X

ABAP

HTT R Webservice
Trace P SQL ABAP F Trace ESF Trace BI Application VMC
level log Trace Trace C Authorization (SRTUTIL) (ESFUTIL) Statistics Log Trace
None
Low x
Aggre Performan
Medium x x gated x x ce trace x x
Non
aggre
High x x gated x x x Data trace x x x

= Summary displayed in SMD


= not displayed in SMD

©SAP AG 2008
End-to-End Diagnostics 11
User Guide End-to-End Trace Analysis

3.2.2 Record a navigation step


This chapter describes step by step how to record several clicks in the browser with the SAP Client Plug-In. Users can
download the SAP Client Plug-In from a link within the E2E Trace application under the “Options” tab. The latest
version of the Plug-In can also be downloaded from SAP Note 1435190.

1a. Run the executable “SAP


ClientPlugin.exe” to extract the Plug-In and
the GUI of the Client Plug-In will appear.

1b. In the Application list, the default value


is ‘Microsoft Internet Explorer (6, 7)’. Just
click ‘Launch’ button and there will be a new
IE session instrumented by the Client Plug-
In and thus the HTTP stream can be
recorded.

1c. If you want to run the Client Plug-In


recording next time, just double click the
‘plugin-starter-gui.exe’ in the extracted Plug-
In folder and follow 1b.2.

Remark: You can also double click ‘ie-


https.smd’ to run it directly for IE recording.

©SAP AG 2008
End-to-End Diagnostics 12
User Guide End-to-End Trace Analysis

2. In the instrumented IE navigate to the


location you want to record. Then in the text
field of Client Plug-In enter a name for the
Transaction and navigation step you want to
record, e.g. “Portal Tracing” and “Login
Step” and then press the “Start Transaction”
button.

Remark: For performing a plain HTTP


analysis you can choose a “Session Trace
Level” of “Low”.

Background:
TermID is used to start Debug process in
ABAP backend. Ignore this if you do not
want to debug.

3. Perform a single navigation step, e.g.


click the “Logon” button in the portal logon
page.

After each step has finished, press the “New


Step” Button and a new step is ready to
record.

Remark: Make sure that you always record


a single click! Otherwise it will be very
difficult to analyze the result as you do not
exactly know which HTTP requests belong
to what click in the browser.

Caution:
In case you receive an authentication popup
DO NOT PRESS “New Step” as you will
lose information if acting otherwise.

©SAP AG 2008
End-to-End Diagnostics 13
User Guide End-to-End Trace Analysis

4. Stopping the Trace:


Wait until the entire content of the web site
has been downloaded.

If the traced application provides a log off


functionality, record the log off itself in a
new step and then in the Client Plug-In click
the “Stop Transaction” button.

If the traced application does not provide a


log off functionality click the “Stop
Transaction” button, then the 'Start
Transaction' button and close the browser.

Remark: Some applications do not clean up


the sessions when aborting the trace by
closing the Plug-In and the sessions stay
alive until session timeout.

5. If you have maintained SMD host and


port information the upload of the client
trace will happen automatically.
Caution:
DO NOT perform further steps in this
browser. Wait until the entire client trace
has been uploaded, then in the Client Plug-
In click the “Exit” button.
DO NOT close the browser or logoff from
system unless you want the trace this
action.
Background: Session close is probably
done with same existing passport in the
systems.
If the connection fails for whatever reason
you will receive a warning or error message.

Check the log directory for the following


directory(ies) and file(s)
- DATE_TIME_<Transaction Name>
- BusinessTransaction.xml

©SAP AG 2008
End-to-End Diagnostics 14
User Guide End-to-End Trace Analysis

Upload them manually to the trace analysis

Note:
We have added a ‘Pause’ button. You can
use it to skip clicks which you do not want to
record. The standard process is,

Click ‘New Step’


Click ‘Pause’
Perform the actions(clicks) which you do not
want to record in the trace
Click ‘Continue’
Perform the action(click) you want to record
in the trace

©SAP AG 2008
End-to-End Diagnostics 15
User Guide End-to-End Trace Analysis

3.2.3 Manual upload of the client trace files to Solution Manager Diagnostics (optional)

Note:

This step is only required if a direct HTTP connection between the client where the Plug-
In has been started and the SAP Solution Manager Diagnostics is not possible.

1. Start the E2E Trace application for the


relevant systems.

2. In the Trace Analysis application press the


“Browse…” button and navigate to the directory
that has been created. Select the file
“BusinessTransaction.xml” which contains the
client-side HTTP traces.

3. After pressing the “Upload” button you will


see a new entry in the table “Transaction
Overview” and the server side traces can be
collected.

©SAP AG 2008
End-to-End Diagnostics 16
User Guide End-to-End Trace Analysis

3.3 Trace triggering with SAP SAPGUI


An E2E Trace can be started from within SAPGUI be executing transaction /SDF/E2E_TRACE or report
/SDF/E2E_TRACE that is delivered with software component ST-PI. Triggering an E2E Trace from within SAPGUI has
several limitations

3.3.1 Limitations of /SDF/E2E_TRACE


1. The user who should record the trace needs at least the Authority for SA38 for executing the report and the profile
S_AI_SMD_E2E.
2. Recording starts immediately and it is not possible to start the recording at a several step (beside the ABAP Trace)
3. The user who is recording the trace should not execute any other dialog action in parallel on the same instance.
4. The BusinessTransaction.xml that is created at the end of trace recording has to be uploaded manually in SMD.
5. It is not always possible to measure the exact times spent on the client and in the network between client and
application server. Therefore the time is displayed in the E2E Trace application as Client/Network time.

3.3.2 Explanation of trace level


Report /SDF/E2E_TRACE provides five different trace levels, four (None - High) with the same meaning as for the SAP
Client Plug-In (described in 3.2.1 Explanation of trace level) and an Expert Trace level.

Trace level Expert

By clicking on the button you can specify per kind of trace if a trace should be written or not.

Recommendation

If you want to analyze only one dedicated dialog step of the transaction it is
recommended to choose for the ABAP Trace the last option ('Particular Units'). Before
you start the dialog step of your interest enter /RON in the OK-Code field and after the
dialog step either enter /ROFF in the OK-Code filed or leave the transaction with Exit .

©SAP AG 2008
End-to-End Diagnostics 17
User Guide End-to-End Trace Analysis

3.3.3 Record navigation steps


This chapter describes step by step how to record several dialog steps in the SAPGUI initiated by program
/SDF/E2E_TRACE.

1.Start either the transaction by entering


/n/SDF/E2E_TRACE in the OK-code field or
in SA38 by executing program
/SDF/E2E_TRACE

2. Choose a trace level, enter a Transaction


and press Start Transaction.
The Business Transaction Name needn't to
be filled. If it is empty it will be filled with the
recorded Transaction, User name and time
stamp

3 Perform your dialog steps as usual and


leave the transaction with the EXIT button.

Caution:
Do not perform any further action during
recording with your user on the same server
in parallel.
4. Save the BusinessTransaction.xml file on
your client.

©SAP AG 2008
End-to-End Diagnostics 18
User Guide End-to-End Trace Analysis

5. Upload the file manually to the trace


analysis.

In the Trace Analysis application press the


“Browse…” button and navigate to the
directory that has been created in section 4.
Select the file “BusinessTransaction.xml”
which contains the client-side traces.

©SAP AG 2008
End-to-End Diagnostics 19
User Guide End-to-End Trace Analysis

3.4 Trace triggering with SAP BW Business Explorer Analyzer


An E2E Trace can be started from within SAP BW Business Explorer Analyzer to record all RFC calls to the BW
backend.

3.4.1 Trace level


This trace provides the same trace levels (None - High) as for the SAP Client Plug-Infor IE (described in 3.2.1
Explanation of trace level).

3.4.2 Global Settings of BEx Analyzer


This chapter describes which configuration has to be changed when you want to use BEx Analyzer for an E2E Trace.

1. Start BEx Analyzer: In Windows start


menu choose ‘All Programs’ -> ‘Business
Explorer’ -> ‘Analyzer’
An MS Excel will start up including the BEx
Analyzer tool bar.

2. In the BEx Analyzer toolbar choose


‘Global Settings’

©SAP AG 2008
End-to-End Diagnostics 20
User Guide End-to-End Trace Analysis

3. In tab ‘Behaviour’ set the flag: ‘Start BEx


Analyzer When MS Excel Starts’ and push
‘OK’.

4. Close BEx Analyzer (MS Excel).

3.4.3 Download and install SAP Client Plug-In


Users can download the SAP Client Plug-In within the E2E Trace application under the ‘Options’ Tab.
The latest version of the Plug-In is accessible via SAP Note 1435190.

Starting with SP22 the Plug-In can be used for two different applications:
a) ‘E2E Trace Analysis Client Plug-In’
b) ‘End-user Experience Monitoring Recorder’ (EEM Recorder).

We will use the tool as ‘E2E Trace Analysis Client Plug-In’ tool

1. To check the configuration file of the


Plug-In tool, navigate to the folder where it
is located and open the file
‘smd.properties’.

2. Check that parameter ‘eem_active’ is


set to ‘0’ (to switch on EEM Recorder
functionality, you would have to change the
value to 1).

3. To enable automatic upload of the


‘Business Transaction’ file to Solution
Manager Diagnostics, you have to enter
‘SMD Host’ and ‘SMD HTTP Port’.

©SAP AG 2008
End-to-End Diagnostics 21
User Guide End-to-End Trace Analysis

3.4.4 Enable tracing on BW system


Before you start to record a trace, you have to allow tracing on the ABAP stack of the BW system.

1. Start Solution Manager Diagnostics ->


‘End to End Analysis’ -> Select your BW
system -> push ‘Trace Analysis’.

2. In the E2E Trace Analysis application, go


to tab ‘Trace Enabling’, select the ABAP
stack of the BW system and push ‘Enable’.

©SAP AG 2008
End-to-End Diagnostics 22
User Guide End-to-End Trace Analysis

3.4.5 Record navigation steps


This chapter describes step by step how to record several navigations in the BEx Analyzer with the E2E TA Plug-In.

1. Run ‘plugin-starter-gui.exe’ to start the


E2E TA Plug-In

2. At the new pup-up push the ‘Assign…’


button. Note: do not select ‘Microsoft Office
Excel’ as Application from the drop-down
box.

3. In the new browser pop-up (per default


navigated to the MS Office folder) choose
‘EXCEL.EXE’ from the list of executable
files, by double-clicking on the filename or
single-click on the filename and push
‘Open’ button..

©SAP AG 2008
End-to-End Diagnostics 23
User Guide End-to-End Trace Analysis

4. In the Plug-In push the ‘Launch’ button to


open the customer Application
‘EXCEL.EXE’.

5. In the new pop-up select ‘Instrument


RFC protocol’, keep ‘librfc32’ as default
value and push ‘OK’ to start BEx Analyzer
(MS Excel including BEX Analyzer tool
bar).

6. To start recording enter a ‘Business


Transaction Name’, an ‘Executed Step
Name’, select the right ‘Trace level’ and
push ‘Start Transaction’.
Note: To get BW statistics switched on, you
have to start the recording before the first
query execution.

The default for the ‘Output Directory’ points


to the log folder in your Plug-In folder.
Please remember this folder as we may
have to manual upload the file later on.

©SAP AG 2008
End-to-End Diagnostics 24
User Guide End-to-End Trace Analysis

7. In Bex Analyzer push ‘Open Query’ or


‘Open Workbook’ and logon to your BW
system.

8. In the Plug-In window you can see that


the number of ‘Sent Bytes’, ‘Received
Bytes’, Requests, ... will increase

©SAP AG 2008
End-to-End Diagnostics 25
User Guide End-to-End Trace Analysis

9. Push the ‘New Step’ button (the numbers


are always set to 0, so that we get single
number for every step) and enter a new
step name. Execute the Query / Workbook
in the Analyzer.

10. Perform for every navigation steps in


the same way:
a) Push ‘New Step’
b) enter new Step Name
c) Execute Navigation Step

11. At the end of your recording push ‘Stop


Transaction’ and ‘Exit’.
If the ‘SMD Host’ and ‘SMD HTTP Port’ is
configured (smd.properties) the ‘business
Transaction’ file is automatically uploaded
to the Solution Manager Diagnostics.
Finally the Plug-In window will disappear.

©SAP AG 2008
End-to-End Diagnostics 26
User Guide End-to-End Trace Analysis

3.4.6 Upload trace file manually


This chapter describes how to upload a recorded trace file manually.

1. Start Solution Manager Diagnostics ->


‘End to End Analysis’ -> Select your BW
system -> push ‘Trace Analysis’.

2. In the E2E Trace Analysis application go


to tab ‘Trace Analysis’, open the ‘Manual
Upload’ section. Push ‘Browse’ to’Upload
Business Transaction.xml’.

3. A new browser window appears. There


you have to navigate to the Output directory
of the EEM Recorder. There is a ‘log’
folder, and a new folder inside this log
folder for every recording session, with the
following naming convention:
‘<day>_<time>_<business transaction
name>
4. Doubleclick on the right folder, select the
file ‘BusinessTransaction.xml’ and push
‘Upload’.

©SAP AG 2008
End-to-End Diagnostics 27
User Guide End-to-End Trace Analysis

5. Mark the line with the right Business


transaction and a new pop-up appears.
Push ‘Yes’ to collect the traces from the
BW backend.

6. Depending on the System types and


trace level different trace records are
collected

7. The results of trace data collection are


displayed as information after the collection
is finished

©SAP AG 2008
End-to-End Diagnostics 28
User Guide End-to-End Trace Analysis

3.4.7 Analyze trace file


This chapter describes how to analyze a recorded trace file.

1. When you mark the line with the right


Business transaction the list of transaction
steps are displayed in a new ‘Transaction
Steps’ table. Mark the step you are
interested in and push ‘Display’

2. In the Message Summary tab you get an


overview, where most time was spent, like
network, server or other. For detailed
analysis push ‘Auto-Analysis’ button

©SAP AG 2008
End-to-End Diagnostics 29
User Guide End-to-End Trace Analysis

3. Check all RFC calls to the backend in the


message table and find the one which
takes most of the time.

4. To display BI Statistics, click on the Icon


and logon to the BW backend system.

5. You are leaded directly to the ‘BI-IP


Performance Toolset’, where the E2E
Passport IDs are filled automatically into
the entry screen. Push ‘Execute’ to analyze
the BW statistics in detail.

6. To analyze the database performance,


push the icon to get a summary of the
ABAP SQL trace.

©SAP AG 2008
End-to-End Diagnostics 30
User Guide End-to-End Trace Analysis

7. Analyze the database calls in detail.

8. To analyze the ABAP performance push


the icon to get a summary of the ABAP
trace

9. Analyze the ABAP calls in detail.

©SAP AG 2008
End-to-End Diagnostics 31
User Guide End-to-End Trace Analysis

3.5 Collecting traces


All uploaded traces are displayed in the table Business Transactions with the name you specified in the SAP Client
Plug-In and the time when the trace has been recorded.

Filter

Traces have
not been
collected

The filter for the SID(s) is pre-filled depending of the chosen Query and Systems.
Possible States are:

Traces have not been collected yet


Traces are currently collected (by another user session)
Traces have been collected and persisted successfully.
Not all traces could be collected or collection has been aborted by user and user decided to save them.

Automatic Trace collection is queued

There are two possible types for Business Transactions:


EU – This remark means the Business Transaction is recorded manually by a certain end user.

EEM – This remark means the Business Transaction is recorded automatically by EEM (End user Experience
Monitoring) Script Runner.

Traces that couldn't be uploaded automatically from the SAP Client Plug-In can be uploaded here by expanding the
tray 'Upload Business Transaction.xml' (see also 3.2.3 Manual upload of the client trace files to Solution Manager
Diagnostics).

When you select a Business Transaction in the table where the traces have not been collected the following dialog
appears:

©SAP AG 2008
End-to-End Diagnostics 32
User Guide End-to-End Trace Analysis

Note:

For performance reasons the ‘Select systems for trace collection dynamically’ checkbox
is checked by default. By checking it, the trace application will try to collect traces only
from the Java server nodes resp. the ICMs which could be found in the cookies in the
HTTP client request headers of the involved HTTP messages.

In two cases you have to uncheck this checkbox to go through all the Java server nodes
resp. all ICM instances, otherwise you could not collect the needed HTTP logs:

1) There is a proxy in front of the J2EE server nodes. The proxy might change/hide the
cookies and thus the trace application cannot determine the correct server node IDs

2) The first backend server is an ABAP stack which calls a J2EE stack. In this case, the
trace application cannot determine the right IDs either.

You will see if tracing for a system had not been enabled before recording the trace.
After confirming this dialog the trace collection starts.

Data collected successfully

Data collection in progress

©SAP AG 2008
End-to-End Diagnostics 33
User Guide End-to-End Trace Analysis

Be aware that traces and logs in the managed systems are overwritten depending on the load and probably cannot be
collected anymore after a few hours. Therefore it is recommended to collect the data immediately after the trace has
been conducted.

3.5.1 Options
Within the options tab you can specify for several traces how many records will be collected from the managed
systems and persisted in SAP Solution Manager Diagnostics.

These values are per request that corresponds to the correlator and specify the top n records to be persisted. In the
example above maximum 20 Introscope Transaction Trace records are read and persisted per unique passport.

©SAP AG 2008
End-to-End Diagnostics 34
User Guide End-to-End Trace Analysis

3.6 Trace evaluation


To evaluate a trace, follow these steps:

- Select the transaction in the table


- After selecting a transaction the transaction steps are displayed in tab form.
- Choose the step you want to analyze.
- Click Display to analyze the transaction step

3.6.1 Business Transactions


All uploaded traces are displayed in the table Business Transactions with the name you specified in the SAP Client
Plug-In and the time when the trace has been recorded.

Download table as
spreadsheet

Show details

Download entire E2E


trace as XML file
Locked against
automatic deletion

Traces older than 60 days (default) are deleted automatically when entering the application. The lifetime of the
Business Transactions can be changed within the tab 'Options'.

A Business Transaction and all corresponding traces can be deleted by pressing the 'Delete' button.

Download
The entire E2E Trace can be downloaded as an XML file. This might be helpful for analysis and can be uploaded to
another SAP Solution Manager.

©SAP AG 2008
End-to-End Diagnostics 35
User Guide End-to-End Trace Analysis

Client Information

If you use Client Plug-In SP22 to record trace, you could get the client information and the process list by clicking this
icon in front of the Business Transaction.

Show details
Clicking on the details button will display a summary of the filtered Business Transactions.

Export
The table with the Business Transactions can be downloaded as spreadsheet.

©SAP AG 2008
End-to-End Diagnostics 36
User Guide End-to-End Trace Analysis

Group Business Transactions by name


The listed Business Transactions are grouped by name after clicking this button. This might be helpful for comparison
of Business Transactions.

As the above snapshot shows, the Business Transactions are grouped according to their names and detailed data is
displayed. Besides that, the average data of each group is displayed in the first line of the corresponding group.

Group Business Transactions by Choice


You can select multiple Business Transactions via Ctrl + left click. And then by clicking this button, you can put the
Business Transactions in one group and get the average detailed data in the first line.

Choose multiple lines by Ctrl


+ left click

Then Click
‘Group’ button

©SAP AG 2008
End-to-End Diagnostics 37
User Guide End-to-End Trace Analysis

Options
Within the options tab you can specify the lifetime of the Business Transactions and the display mode of E2E Trace
Summary.

The entered value for the Business Transaction lifetime is taken into account when entering the E2E Trace application.
All traces older than this value here are deleted if they are not locked.
There are 2 kinds of display mode of E2E Trace summary, one is Table, and the other is a graphical display as applet.

Transaction Steps
For the chosen Business Transaction you see the recorded Transaction Steps with the recorded Trace level (TL), the
number of HTTP requests (#Msg) and the total duration of this step. For each step you can enter a comment for later
analysis or other persons.

©SAP AG 2008
End-to-End Diagnostics 38
User Guide End-to-End Trace Analysis

When pressing the 'Display Transaction Step details' button , the details of the transaction steps will be displayed as
follows, the time distribution among different backend systems will be displayed in the table.

When pressing the 'Export' button , the table with the Transaction Steps can be downloaded as spreadsheet.

When pressing the 'Display' button you start the HTTP analysis of this Transaction Step.

3.6.2 HTTP Analysis


After choosing one Transaction Step you reach the HTTP Analysis which has three tabs:

- Summary
- Message table
- Message graphics

As the title of the HTTP Analysis page, you could see the corresponding Business Transaction name and Transaction
Step name. You could press button or to go to the HTTP Analysis page for the previous or next
Transaction Step.

Auto Analysis

Auto-Analysis is recommended when you make a performance analysis and are just interested in the most expensive
request and you want to identify where most of the time is spent.

When pressing the button the following actions are executed:

- 'Message table' tab is selected


- Filter in the HTTP analysis is set to hide static requests and cached accesses
- Request is selected where corresponding server request has the highest net time
- 'Server request' tree in Server Analysis is displayed
- Server request with highest net time is expanded and selected

©SAP AG 2008
End-to-End Diagnostics 39
User Guide End-to-End Trace Analysis

HTTP Analysis Summary Tab

The Summary tab gives an overview per Transaction Step where you can identify a possible problem area (Client,
Network or Server).

d)
a)

b)

c)

a) Client Trace Summary


This part contains all the values measured by the SAP Client Plug-In on client side.

User CPU time


This is the CPU time spent by the Internet Explorer process during trace recording. Time measurement starts with
clicking on 'Start Transaction' and is stopped with clicking on 'Stop Transaction'. This time can be higher than the Client

©SAP AG 2008
End-to-End Diagnostics 40
User Guide End-to-End Trace Analysis

time (see b) if you perform some action in the browser after the last request has been arrived e.g. scrolling in a huge
table.

Kernel CPU time


This is the kernel time spent by the Internet Explorer process with Operating System accesses during trace recording.

Total duration
This time is measured when the first request is sent out until the last event is raised. It could include also wait time from
end-user when several browser clicks are recorded in one Business Transaction step.

ATTENTION:
In case of AJAX based UIs (e.g CRM Web UI) the total duration does not necessarily
reflect the response time experienced by the end user. Part of the client processing may
not be recorded by the Plug-In. The response time can be approximated by adding the
user and kernel CPU time to the total duration.

Spreading of CPU time


The CPU time (User CPU time and Kernel CPU time) is measured for the browser process and includes Cache
accesses, Virus scans, IO accesses, rendering. That means it is spread over the other measured and calculated times
(Client time, Network time, Server time and other time).

The detail information of CPU time is available in the ‘Client-Side Performance Data’ tray of ‘HTTP Messages Graphics’
tab.

Ratio between User CPU Time and Total Duration


The network time displayed in the pie chart was not measured on network layer but rather is calculated by means of
the difference between client response time and server response time. Therefore the network time must be seen as an
approximation. The measurement of the client response time takes place inside the browser and starts when the first
Byte of an HTTP request leaves the browser and ends when the last Byte of an HTTP response has arrived. Because
of this type of measurement the client response time can be impacted in several ways. In addition to network- and
server-time it includes time that was spent by the browser itself as well as time spent by other processes running on the
operating system (e.g. virus scan, firewall etc.).

As a rule of thumb the approximated network time is almost realistic when the User CPU Time ratio is very low and
might be too high when the User CPU Time is very high

ATTENTION:
If there were no HTTP requests that have been loaded from the browser cache, the
network time displayed in the pie chart might be too high.

b) Times (Critical Path)


These times are calculated according to Critical Path Algorithm. This algorithm takes the parallel executions into
consideration and subtracts the duplicated time. The total time here should be almost the same with total duration in
the client trace summary. The percentage values are displayed without decimal place. Therefore it can happen that the
sum will not lead to exactly 100%.

Note:

If the server logs are not uploaded or collected and the network layer events are not
available, the response time measured on client-side is simply considered as other (gap)
time assuming that the network time is very negligibly small. One the other hand, if the
network layer events are available, the calculated approx server gross time will be
regarded as other (server) time.

©SAP AG 2008
End-to-End Diagnostics 41
User Guide End-to-End Trace Analysis

Client time
This time contains the client preprocessing time (cPT) and the client response times (cRespT) of cached requests.
Client rendering time (cRendT) is not included in the Client time because this time is not atomic and would lead for
nested pages to completely wrong values.

Blocked time
This time is the time difference between the timestamp when client really begins to send data and the timestamp when
the client is ready to send data. The time for HTTP request to wait for certain condition to begin data transfer is counted
as blocked time.

Network time between browser and server


The network time per HTTP request between the browser and the first HTTP server component is calculated as the
difference of the client response time and the server time (see picture below).

Internet Explorer Server (e.g. SAP


Preprocessing J2EE Engine)
Client Plug-In adds Header X-
and queueing
CorrelationID: to each request
time

Blocked
Time

T Network
i Delay
m
e
Client Server
Response Response
Time Time

Network
HTTP service writes correlation
Delay ID from header to HTTP log file

Rendering/ Client Plug-In writes response times


loading of and browser events to
BusinessTransaction.xml
sub-requests

Server gross time


This is the time spent in the HTTP servers connected by the browser. Requests from this HTTP server (via RFC or
HTTP) to other components are included in the server time but not accumulated additionally.

Client Rendering time


This is the time required for rendering the page and loading sub-requests.

Other (Server)
This time is the approx server gross time when the server logs are not uploaded or collected. The precondition to
calculate it is that the network layer events are available.

©SAP AG 2008
End-to-End Diagnostics 42
User Guide End-to-End Trace Analysis

Other (Gap)
This is the summarized time of the gaps between the requests. It contains the time used for rendering, virus scans,
waiting and server requests that could not be collected. Reasons why server requests were not collected are:
- System was not part of the POWL query in the workcenter.
- The system does not write the HTTP log in the required format.
rd
- A 3 party Web Application Server was called.

Network time between servers


The network time between the server components cannot be calculated per request but only per statistical record
which could contain several incoming and outgoing requests.

Note:

For trace recorded based on IE7.0, you may find that the Network time is too high for
zipped responses. You can find the reason in 4.3 Limitation for IE7.0 in this document.

Times (accumulated)
If you click the icon in the Http Analysis Summary tab, you could switch the display mode of the times between
‘Critical Path’ and ‘accumulated’.

If you switch to ‘Times (accumulated)’, you will see the accumulated times. These times are accumulated. That means
parallel executions could lead to a higher time than total duration in the client trace summary. The meaning of different
kinds of times here is the same with ‘Times (Critical Path)’.

Note:
The times described in ‘Time (accumulated)’ are measured and accumulated for parallel
requests whereas the total duration time in part ‘a) Client Trace Summary’ is measured
in the Plug-In from the event when starting the trace until stopping the trace. Therefore it
could happen that the sum of times in ‘Time (accumulated)’ is higher than the total time.
On the other hand it could happen that total duration time in part a) is higher than the
times in ‘Time (accumulated)’ because client rendering time is not included in the
calculation.

c) HTTP Status Codes


This table contains all the returned status codes for all requests. The distribution of the status codes is additionally
displayed in a pie chart.

d) Transaction Step Details


Here all instances, server nodes and hosts that are involved with direct HTTP communication are listed.

©SAP AG 2008
End-to-End Diagnostics 43
User Guide End-to-End Trace Analysis

Message table tab


Here you can see all HTTP messages of a Transaction Step in a table. Cached and static requests can be hidden by
pressing the buttons 'Hide Cached' respective 'Hide Static'.

Hide Cached

Hide Static Resources


Using these filter options the table contains then only dynamic requests.

Line Based Filter


Besides the column based filter ‘Hide Cached’ and ‘Hide Static Resources’, you could also use the line based filter to
hide certain Http messages. By moving the mouse to the right side in ‘id’ column of a certain Http message, you will
see a red icon. Just click the icon and you will get the filter menu.

In the menu there are 4 items, you could choose one item and click the save button to save you choice.
- By clicking the ‘Ignore’ item, the chosen Http message will be hidden in the message table as well as other places in
Http analysis.
- By clicking the ‘Mark as start’ item, the chosen Http message will be regarded as the first message of the
corresponding Transaction Step. And all the previous Http messages which have smaller id will be hidden.
- By clicking the ‘Mark as end’ item, the chosen Http message will be regarded as the last message of the
corresponding Transaction Step. And all the next Http messages which have larger id will be hidden.
- By clicking the ‘Reset’ item, all the changes which have not been saved will be rolled back.

©SAP AG 2008
End-to-End Diagnostics 44
User Guide End-to-End Trace Analysis

If you want to consider a hidden Http message again, you could choose the ‘Consider’ item in the same menu.

If the response time of a request exceeds 10% of the total time it is highlighted in yellow (respective in red if it is higher
than 25%).

Based on the filter settings in this table the message graphic (see 'Message graphics tab') is adapted.
When pressing the 'Export' icon , the table with the Transaction Steps can be downloaded as spreadsheet.

By clicking the 'Switch' icon , you can switch from table and tree view of HTTP messages. In the tree view, you can
get a clear picture of the relationship of nested HTTP messages.

You can also click 'Display HTTP Message Details' icon to get the detail information of HTTP messages.

©SAP AG 2008
End-to-End Diagnostics 45
User Guide End-to-End Trace Analysis

Description of the table columns:


Id: Identification number of HTTP request
Time: Timestamp taken from the client
Method: Used HTTP method
URL: Called URL. In the table only the last part is displayed. By selecting one line the complete URL will be displayed
above the table
Status: HTTP status code;
e.g. 2XX = Successful, 3XX = Redirect, 4XX = Client Error, 5XX = Server Error.
cPT: Client Preprocessing Time
It contains preprocessing and queuing time in the browser.
Blckd: Blocked Time
Is measured on the client, starting when browser is ready to send data until the first byte of data really leaves
the browser.
cRespT: Client Response Time
Is measured on the client, starting when a request leaves the browser until the response receives. Technically
it contains the time spent in the network and on the server side.
NtWOut: Network Time Out
Network time spent for HTTP request to get to server side from client. It is measured as the difference between
the timestamp of the first byte of data that was sent by the client and the timestamp of the last byte of data left
the client.
sRT: Server Response Time
Time spent in the server which is taken from the HTTP.log.
NtwIn: Network Time In
Network time spent for HTTP response to get to client side from server. It is measured as the difference
between the last byte of date received by the client and first byte of data reaches the client.
cRendt: Client Rendering Time
Time required for rendering the page and loading sub-requests.
csBytes: Bytes send from client to server
scBytes: Bytes send from server to client
GUID: The Transaction ID (or dsrGuid) for the HTTP message.

©SAP AG 2008
End-to-End Diagnostics 46
User Guide End-to-End Trace Analysis

HTTP Header analysis


Below the HTTP Message table you can find the sent and received HTTP headers of the HTTP requests and
responses (if available). You can check if HTTP headers were probably been modified or truncated by any component
between the browser and the HTTP server (e.g. load balancer, reverse proxies,..).

The arrows above describe the data flow from the client to the server and back to the client.

©SAP AG 2008
End-to-End Diagnostics 47
User Guide End-to-End Trace Analysis

Message graphics tab


The HTTP requests with their distribution on different layers are displayed in a horizontal bar chart. The first line ‘C&U’
indicates the timestamp of the ‘Left Mouse Click’ event and the overall time distribution of the Transaction Step, which
is calculated from Critical Path Algorithm. By moving your mouse over an HTTP Message Id the URL will be displayed
in a tooltip and by moving the mouse over a bar the according time in milliseconds will be displayed.

HTTP Message
ID of HTTP
Request

Response
Time

The pre-processing, rendering and server time is measured whereas the client blocked, network and gap time are
calculated. The line in the message graphics links the first byte sent timestamp of HTTP messages. It indicates the
process sequence of them.

Client Wait/Pre-processing Time


Indicates the time spent in the browser before the request leaves the browser (cPT).

Client Blocked Time


Indicates the time spent for HTTP request to wait for certain condition to begin data transfer.

Network Time
The network time is calculated as the difference of the client response time and the server time (cRespT - sRT).

Server Time
This time is taken from the HTTP log and measured by the server (sRT).

©SAP AG 2008
End-to-End Diagnostics 48
User Guide End-to-End Trace Analysis

Client Wait/Rendering Time


This describes the time spent for rendering and/or waiting for sub-requests (cRendT).

Other (Server Time)


This time is the approx server gross time when the server logs are not uploaded or collected. The precondition to
calculate it is that the network layer events are available.

Other (Gap Time)


This is the summarized time of the gaps between the requests.

First Byte Sent


It is the timestamp when the client sends the first byte of HTTP request data.

Last Byte Sent


It is the timestamp when the client sends the last byte of HTTP request data.

First Byte Rcvd


It is the timestamp when the client receives the first byte of HTTP response data.

Last Byte Rcvd


It is the timestamp when the client receives the last byte of HTTP response data.

Left Mouse Click


It is the timestamp when the end user performs the left mouse click.

©SAP AG 2008
End-to-End Diagnostics 49
User Guide End-to-End Trace Analysis

Message Filter for graphics


In Message Graphics tab, you could filter the messages via the below tool,

We provide several kinds of filter functionalities for you to filter the messages you do not want to see in the graphic.
Let’s take the graphic below to show you how to use it.

In the above graphic, the messages are separated into 2 parts with a gap in between. Then the first part may be too
narrow for you. If you are just interested in the first part, you could click button to filter the last HTTP message.
Then the graphic would become clearer for you to analyze the HTTP messages in the first part. The graphic below is
the result of clicking button.

©SAP AG 2008
End-to-End Diagnostics 50
User Guide End-to-End Trace Analysis

You could click different buttons in the tool bar to filter different HTTP messages

Timeframe based filter: You could input time with format ‘hh:mm:ss.SSS’ (SSS means Millisecond) in the ‘Start time’
and ‘End Time’ input box. Then if you click ‘set’ button, all the HTTP messages whose begin timestamp is out of the
timeframe are filtered.

Shift the beginning of the HTTP messages graphic to the next HTTP message : By clicking this button, the first
HTTP message in the current graphic is filtered.

Shift the beginning of the HTTP messages graphic to the previous HTTP message : By clicking this button, the
message right before the first HTTP message in the current graphic is un-filtered. If the first HTTP message in the
current graphic is also the first HTTP message of the whole Transaction Step, then this button would be disabled.

Shift the end of the HTTP messages graphic to the before last HTTP message : By clicking this button, the last
HTTP message in the current graphic is filtered.

Shift the end of the HTTP messages graphic to the next HTTP message : By clicking this button, the message right
after the last HTTP message in the current graphic is un-filtered. If the last HTTP message in the current graphic is also
the last HTTP message of the whole Transaction Step, then this button would be disabled.

Reset : By clicking this button, all the HTTP messages belong to the Transaction Step would be displayed in the
HTTP message graphic.

Client-Side Performance Data


In Message Graphics tab, you can expand the ‘Client-Side Performance Data’ tray to see the client CPU Time and
Memory Consumption data. The client performance data is recorded during trace recording via SAP Client Plug-In.

CPU Utility (%)

Duration when trace


recording

Above graphics shows the CPU Utility (%) during trace recording in client side. In this example, the IE Processor Time
was quite high.

©SAP AG 2008
End-to-End Diagnostics 51
User Guide End-to-End Trace Analysis

Memory
Consumption
(Bytes)

Duration when
trace recording

Above graphics shows the Memory Consumption (Bytes) during trace recording in the client side. In this example,
memory leak might happen since the all the memory related counters are increasing.

Note:
The definition of the performance counters such as Total Processor time and IE Private
Bytes are in 4.2 Client Performance Counter of this document.

©SAP AG 2008
End-to-End Diagnostics 52
User Guide End-to-End Trace Analysis

3.6.3 Server Analysis

Summary tab
The Summary tab gives an overview of the involved systems, distribution of the server response times and the type of
the connection protocol between the systems.

System Type SID and


Instance(s)

Sum of net Time and


Percentage of total
server gross time

Possible System Types are:

- J2EE
- ABAP
- .NET
- VMC

All net times of a system are accumulated and displayed in the footer of each box. The color of the footer is a rough
indicator of the time distribution (red > 50%, yellow > 20% of the complete server times of this step).
The times for the connection protocol are calculated by subtracting all net times from the gross time. In the above
snapshot, the sum of net time of F16 (959ms), HNI (952ms) and the time for RFC (265ms) equals to the accumulated
server gross time (2,176ms).
With pressing the button 'Change View' you can display the System Overview as a table:

©SAP AG 2008
End-to-End Diagnostics 53
User Guide End-to-End Trace Analysis

The default display mode can be changed under the 'Options' tab.

Special case
The time on an arrow for the connection protocol could be very high when in the called system no statistical record
exists or couldn't be found. This could be the reason when:

- The called system is not specified in Solution Manager (Transaction SMSY) or connection didn't work.
- In the called system no statistical record has been written because the execution was aborted with a runtime error
and a short dump has been written.
- The action in the called system has been written with another Transaction ID.

In the example above a runtime error occurred in the ABAP stack of system C50 (displayed with the icon ).
Therefore no statistical record has been written for this step and the complete time is displayed here as RFC time.

Prerequisites
The Server Summary Display requires a JRE on the client because the graphic is build in a browser applet.

Request tree tab


In this table all corresponding statistic records are displayed in a tree.

The picture above displays the request handling of request ID 28. The request was sent from the client to server via
HTTP.

©SAP AG 2008
End-to-End Diagnostics 54
User Guide End-to-End Trace Analysis

The complete process time for this request was 1938 milliseconds. The J2EE Engine processed the request, 721
milliseconds were spent in J2EE and about 1271 milliseconds were used to execute back-end calls. The RFC calls are
displayed for each RFC connection. The most expensive one took 950 milliseconds whereas the most expensive
function module in this case was HRXSS_SER_GETMENUDATA with an execution time 950 ms.

The data in Request tree can be analyzed together with the data in Summary tab. For example, the sum of the net time
of HNI in the Request tree (950ms + 2ms) should equal to the net time in the System overview for server HNI (952ms).

Note:
Some implicit executed function modules like RFCPING or
SYSTEM_RESET_RFC_SERVER (during session close) might not be recorded and count
in J2EE DSR record as outgoing RFC request. Therefore it can happen that the number
of RFC calls in a DSR record can differ to the amount of incoming RFC calls in the ABAP
statistic records.

Possible request types in request tree


Incoming HTTP request
These values are taken from the HTTP logs.

Incoming J2EE request


These values are taken from the DSR records.

Outgoing J2EE request


These values are taken from the DSR records.

Incoming ABAP summary


These values are taken from the ABAP statistical records and correspond to an RFC/HTTP Server Destination record

Outgoing ABAP summary


These values are taken from the ABAP statistical records and correspond to an RFC/HTTP Client Destination record.

Incoming ABAP request


These values are taken from the ABAP statistical records and correspond to an RFC/HTTP Server record.

Outgoing ABAP request


These values are taken from the ABAP statistical records and correspond to an RFC/HTTP client record.

Outgoing VMC summary


These values are taken from the VMC statistical sub-records and correspond to an RFC client record.

Incoming VMC request


These values are taken from the VMC trace and correspond to an RFC client record.

ABAP Runtime Error


This icon appears together with the runtime error when a short dump has been written.

Enterprise Service Infrastructure Summary record


These values are taken from the ESI statistical sub-records

Possible trace types in request tree


Performance Trace

©SAP AG 2008
End-to-End Diagnostics 55
User Guide End-to-End Trace Analysis

This could be either a Wily Introscope Transaction Trace for J2EE, an ABAP Trace (ATRA) or a VMC Trace for an
ABAP system. This icon appears only if the trace had been executed at least with trace level medium and a
performance trace is available.

SQL Trace
This could be either an SQL Trace of a J2EE or of an ABAP system. This icon appears only if the trace had been
executed at least with trace level medium and a SQL trace is available.

Functional Trace
This is a jump-in capability to the J2EE log viewer or to further logs in the ABAP system (e.g. Application log, short
dumps). This icon appears only if the trace had been executed with trace level high or a dump occurred.
Other traces

Webservice Trace (SRTUTIL)


This is a summary of webservice calls taken from transaction SRTUTIL including a jump-in capability to the transaction
SRTUTIL in the managed ABAP system.

BI Query Runtime Statistics


This is a jump-in capability to the BI Query Runtime Statistics in the managed ABAP BI System. Further documentation
can be found attached to note 1035990.

©SAP AG 2008
End-to-End Diagnostics 56
User Guide End-to-End Trace Analysis

Detailed server trace analysis


You can perform deeper trace analysis for each request when clicking on the relevant icon. Always a new window is
opening containing two tabs. The first one contains usually the summary of the trace (e.g. aggregated per statement)
and the second one contains details for further analysis in the managed system (like selection criteria) and a link to the
relevant trace/log in the managed system. If possible you can jump from here directly into the trace/log in the managed
system.

How to analyze the different traces or logs is not explained in this document.

Performance Trace
When clicking on the icon for the Performance trace a new window is started containing the summary of the Wily
Introscope Transaction Trace for J2EE and the ABAP Trace for ABAP systems.

The degree of details displayed in Introscope transaction traces depends on the instrumentation level of the JVM. For
details please consider the documentation of Introscope. However, in some scenarios, above all when external non-
J2EE systems are invoke you might see some gaps at the end of the call stack of a transaction trace. For instance, in
the snapshot below you can see a screenshot of a transaction trace that contains an external call to an Adobe
Document Server.

The selected line shows that 31685ms are spent on the J2EE Engine to process a method in a certain EJB. In fact, the
EJB itself wraps an Adobe Document Services process which is called outside the JVM on OS level. For this reason,
you cannot see how much time is spent inside the Adobe Document Server. Nevertheless, in this example you can see
that the invocation of ADS mainly causes the long response time of this transaction trace.
For further analysis you have to use component specific trace tools. For instance, if you want to get the whole trace
within Adobe, please consider SAP Note 944221. It describes how to get the detail Adobe server side trace. In general,
you need to set FPTRACELEVEL = 04 for a specific user profile in backend. The detailed trace will be generated and
downloaded to your browser on client-side.

©SAP AG 2008
End-to-End Diagnostics 57
User Guide End-to-End Trace Analysis

SQL Trace
When clicking on the icon for the SQL Trace a new window is started containing the summary of SQL trace.
In the pop-up you could also get the result of the Transactional Correctness Check if you collected it during trace
collection phase. The SQL statements which are transactional incorrect will be displayed there.

In the above example, it tries to delete one record right after insert. This transactional incorrectness is captured and
displayed in the ‘TC Check’ tab.

Functional Trace
When clicking on the icon for the Functional Trace a new window is started with Log Viewer for J2EE or a summary
of Dumps and Application Log entries for ABAP systems.

©SAP AG 2008
End-to-End Diagnostics 58
User Guide End-to-End Trace Analysis

3.6.4 Trace Comparison


There are four kinds of comparison in E2E Trace scope,

- Comparison of Business Transactions


- Comparison of Transaction Steps
- Comparison of HTTP Messages
- Comparison of Detail traces of HTTP Messages

Comparison of Business Transactions


You can group the listed Business Transactions by name or by choice. The detailed introduction is in section 3.6.1
Business Transactions of this document. After grouping, you can compare different Business Transactions within a
group, and the average data in detail is displayed in the first line of each group.

Average Data

Comparison of Transaction Steps


After grouping of Business Transactions, you can compare the transaction steps belonging to the Business
Transactions within a certain group by choosing the first line (grouped line) of each group.

©SAP AG 2008
End-to-End Diagnostics 59
User Guide End-to-End Trace Analysis

Choose the grouped line

All Transaction Steps of the


Business Transactions within
the group are displayed

The Grouped Transaction Steps table is then displayed and you can compare the performance data of different
Transaction Steps. The average data is displayed in the first line of the group.
By clicking ‘Group Transaction Steps by Name’ icon , you can group the listed Transaction Steps by their names.
The average data will be displayed in the first line of each group. You can then easily compare the corresponding
Transaction Steps from different Business Transactions.

©SAP AG 2008
End-to-End Diagnostics 60
User Guide End-to-End Trace Analysis

Comparison of HTTP Messages


In the Grouped Transaction Steps table, if you choose 2 different Transaction Steps by Ctrl + left Mouse click, the
‘Compare’ button will be available.

Then you can click ‘Compare’ button to compare the HTTP messages of the selected Transaction Steps. The result
appears in the E2E Trace comparison view.

©SAP AG 2008
End-to-End Diagnostics 61
User Guide End-to-End Trace Analysis

There are 2 main areas of ‘HTTP Message Comparison’ tab, Transaction Steps Summary and HTTP Message
Comparison.

Transaction Steps Summary


In this area, the overall performance information for the 2 Transaction Steps (Presented as A & B in the view) is
displayed. The pie of accumulated time distribution is also placed.
If you want to jump to the HTTP Analysis view directly from here for a certain Transaction Step, you can click ‘Display’
link above the pie.

HTTP Message Comparison


There are 2 parts in this area. One is HTTP Message Metadata; the other is HTTP Message Metrics. In the first part,
the metadata of HTTP messages chosen in the HTTP Message Metrics table is displayed, including message id,
method, time, URL and HTTP status.

The HTTP Messages of 2 Transaction Steps are listed in the HTTP Message Metrics table. The “=” signal means that
the 2 HTTP messages from 2 Transaction Steps could be mapped (They have the same URL). The detail performance
data of the 2 HTTP messages is displayed in the table. You can easily compare the performance data of the HTTP
messages which have the same URL.

By clicking the title of a certain column of performance data, you can sort the table according to the corresponding
column. The table is sorted by sRT A (server response time for Transaction Step A) as default setting. The description
of the table columns is the same with the columns in HTTP Message table in section 3.6.2 HTTP Analysis of this
document. And A (B) means the data comes from Transaction Step A (B).

You can also choose 2 HTTP messages with different URL from different Transaction Steps and click ‘Map’ button
to perform manual mapping. It is necessary when the URL contains a session id (e.g. JSESSIONID) and can
not be mapped automatically. After manual mapping, the performance data of the 2 chosen HTTP messages will be put
in one line for comparison.

Comparison of Detail traces of HTTP Messages


Besides the comparison of the HTTP Messages, you can also compare the corresponding detail traces of the mapped
HTTP Messages in case the trace exists.

If a certain kind of trace exists in both HTTP Messages, you will see the icons in the end of the line. By clicking the icon,
you can compare the detail trace of the 2 HTTP Messages in a pop-up. The following snapshot shows an example of
an Aggregated ABAP trace comparison of 2 HTTP Messages.

©SAP AG 2008
End-to-End Diagnostics 62
User Guide End-to-End Trace Analysis

In the pop-up which shows the result of the detailed trace comparison, A (B) means the performance data of this
column belongs to Transaction Step A (B). You can also sort the table according to the corresponding column by
clicking the title of the column.

On the other hand, you can also compare the aggregate performance data of a certain kind of trace on the Transaction
Steps level by clicking the corresponding tab of Comparison View.

The tab of a certain kind of detail trace only appears when there are such trace records existing in the HTTP Messages
of both Transaction Steps. You can click the certain tab to see the result of detail trace comparison for the whole
Transaction Steps.

The performance data in the detail trace comparison tab is aggregate data, which means there are calculated as the
sum of the performance data of every HTTP Messages belonging to the certain Transaction Step. You can sort the
data in the table by clicking the title of a certain table column.

©SAP AG 2008
End-to-End Diagnostics 63
User Guide End-to-End Trace Analysis

4 Appendix

4.1 Best Practices of Performing E2E Trace Analysis


Following is several best practices of performing E2E Trace Analysis.

Do not trace an initial call


If you want to trace one action (e.g. a button click), please always execute the action before the trace is recorded. Then
you could trace the action via SAP Client Plug-In. The reason is to fill the caches and avoid unnecessary trace
collection.

Start with Trace level Low


If you only want to get the information of time distribution among client, network and different servers of the traced
action, you should perform E2E Trace with level Low. Record only the steps you are interested in with higher Trace
level.

Use Trace level Medium for performance trace


If you want to get more detailed performance trace (e.g. ABAP SQL Trace) for a certain action, you could use Trace
level Medium.

Trace only with level high if functional analysis is required


If you want get information from functional analysis (e.g. debug information of certain locations), you could use Trace
Level High. But please do not specify a location too generic (e.g. sap.com.*) with Severity DEBUG, otherwise it could
lead to high response times and high system load.

Perform Trace Collection right after recording


You should perform Trace Collection right after you have finished recording the trace, since some kinds of trace could
be overwritten in the corresponding server side after a certain period of time.

Click ‘Auto-Analysis’ button for performance analysis


Auto-Analysis is recommended when you make a performance analysis and are just interested in the most expensive
request and you want to identify where most of the time is spent.

Use filter and sort functions during analysis


Filter and sort functions are implemented for most performance data tables. Using these functions will accelerate your
performance analysis process.

©SAP AG 2008
End-to-End Diagnostics 64
User Guide End-to-End Trace Analysis

4.2 Client-Side Performance Counter


There are 2 counters in CPU Time graphics and 4 in Memory Consumption graphics. The definitions are as following,

Total Processor Time: Processor Time is the percentage of elapsed time that the processor spends to execute a non-
Idle thread. It is calculated by measuring the duration of the idle thread is active in the sample interval, and subtracting
that time from interval duration. (Each processor has an idle thread that consumes cycles when no other threads are
ready to run). This counter is the primary indicator of processor activity, and displays the average percentage of busy
time observed during the sample interval. It is calculated by monitoring the time that the service is inactive, and
subtracting that value from 100%.

IE Processor Time: Processor Time is the percentage of elapsed time that all of process threads used the processor to
execution instructions. An instruction is the basic unit of execution in a computer, a thread is the object that executes
instructions, and a process is the object created when a program is run. Code executed to handle some hardware
interrupts and trap conditions are included in this count.

Memory Committed Bytes: Committed Bytes is the amount of committed virtual memory, in bytes. Committed memory
is the physical memory which has space reserved on the disk paging file(s). There can be one or more paging files on
each physical drive. This counter displays the last observed value only; it is not an average.

IE Private Bytes: Private Bytes is the current size, in bytes, of memory that this process has allocated that cannot be
shared with other processes.

IE Virtual Bytes: Virtual Bytes is the current size, in bytes, of the virtual address space the process is using. Use of
virtual address space does not necessarily imply corresponding use of either disk or main memory pages. Virtual space
is finite, and the process can limit its ability to load libraries.

IE Working Set: Working Set is the current size, in bytes, of the Working Set of this process. The Working Set is the set
of memory pages touched recently by the threads in the process. If free memory in the computer is above a threshold,
pages are left in the Working Set of a process even if they are not in use. When free memory falls below a threshold,
pages are trimmed from Working Sets. If they are needed they will then be soft-faulted back into the Working Set
before leaving main memory.

Note:

All the definitions come from Microsoft.

©SAP AG 2008
End-to-End Diagnostics 65
User Guide End-to-End Trace Analysis

4.3 Limitation for IE7.0


When analyzing trace recorded based on IE7.0, you may find that the Network time is too high. The reason is that the
Client Response time measured by the SAP Client Plug-In is too high for zipped responses. (Network time is calculated
as the result of Client Response time minus Server Response time)

For IE7.0, the Internet Explorer “calls” the Plug-In after the data has been unzipped. And that’s why the “Content-
Encoding: gzip” header is always missing in response headers. See the example as following,

Data has been


unzipped

It is zipped
response

So in this case, the time cost for unzipping action is measured in Client Response time and caused the high Network
time.

©SAP AG 2008
End-to-End Diagnostics 66
User Guide End-to-End Trace Analysis

4.4 EEM Related Configuration


In ‘option’ tab, you can do some configuration related to EEM (End user Experience Monitoring).

- Max. background trace collectors: It means the maximum size of background trace collectors queue. The default
value is 10 and this number should not exceed the maximum number of JCO Server threads!
- Stat. record reader timeout [min]: It means the maximum time in minutes that can be spent to read HTTP logs and
statistical records. The default value is 10.
- Trace reader timeout [min]: it means the maximum time in minutes that can be spent to read traces such as
Introscope Transaction Trace (relevant as of trace level Medium). The default value is 15.
- The default setting of ‘Dynamic system selection’ is ‘Active’. For details check the note in section 3.5.

©SAP AG 2008
End-to-End Diagnostics 67
User Guide End-to-End Trace Analysis

4.5 Other New Features of SAP Client Plug-In


There are two main new features of SAP Client Plug-In for SP22.

smd.properties file
In the Client Plug-In folder, we could change the properties of this tool in the ‘smd.properties’ file. The main properties
are listed below,
collect_system: 1 is the default value which means collecting client information during trace recording. Normally you do
not need to change it.
collect_process: 1 is the default value which means collecting client process information during trace recording.
Normally you do not need to change it.
collect_perfmon: 1 is the default value which means collecting client performance.
eem_active: If you are going to use the Client Plug-In for EEM (End-user Experience Monitoring) recording. You need
to add this property and set it to 1. In case you want to change it back for normal recording, just set this property to 0.

Message Filter
If you add property ‘_config_button’ to smd.properties file and set it to 1, you will see the ‘Configurations…’ button
displayed when running Client Plug-In.

Click ‘Configurations…’ button and you will be able to set message filter.

©SAP AG 2008
End-to-End Diagnostics 68
User Guide End-to-End Trace Analysis

You can add keywords in the first input field of the ‘Filter Settings’ section and click ‘Add’ button. Then the HTTP
messages which contain the keywords will be filtered during trace recording. On the other hand, you could also choose
one keyword in list below and click ‘Remove’ button to remove the corresponding keyword from filter.

©SAP AG 2008
End-to-End Diagnostics 69
User Guide End-to-End Trace Analysis

5 Glossary
Business Transaction
A business transaction is a sequence of steps describing an action of an end-user (e.g. Create Leave Request).

Business Transaction Step


Is exactly one click of the end user in a scenario or Business Transaction and can cause many HTTP/RFC
requests.

©SAP AG 2008

You might also like