SP23 TA UserGuide
SP23 TA UserGuide
SP23 TA UserGuide
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
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
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.
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
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
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
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
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:
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.
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.
©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'.
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.
©SAP AG 2008
End-to-End Diagnostics 10
User Guide End-to-End Trace Analysis
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
©SAP AG 2008
End-to-End Diagnostics 11
User Guide End-to-End Trace Analysis
©SAP AG 2008
End-to-End Diagnostics 12
User Guide End-to-End Trace Analysis
Background:
TermID is used to start Debug process in
ABAP backend. Ignore this if you do not
want to debug.
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
©SAP AG 2008
End-to-End Diagnostics 14
User Guide End-to-End 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,
©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.
©SAP AG 2008
End-to-End Diagnostics 16
User Guide End-to-End Trace Analysis
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
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
©SAP AG 2008
End-to-End Diagnostics 19
User Guide End-to-End Trace Analysis
©SAP AG 2008
End-to-End Diagnostics 20
User Guide End-to-End Trace Analysis
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
©SAP AG 2008
End-to-End Diagnostics 21
User Guide End-to-End Trace Analysis
©SAP AG 2008
End-to-End Diagnostics 22
User Guide End-to-End Trace Analysis
©SAP AG 2008
End-to-End Diagnostics 23
User Guide End-to-End Trace Analysis
©SAP AG 2008
End-to-End Diagnostics 24
User Guide End-to-End Trace Analysis
©SAP AG 2008
End-to-End Diagnostics 25
User Guide End-to-End Trace Analysis
©SAP AG 2008
End-to-End Diagnostics 26
User Guide End-to-End Trace Analysis
©SAP AG 2008
End-to-End Diagnostics 27
User Guide End-to-End Trace Analysis
©SAP AG 2008
End-to-End Diagnostics 28
User Guide End-to-End Trace Analysis
©SAP AG 2008
End-to-End Diagnostics 29
User Guide End-to-End Trace Analysis
©SAP AG 2008
End-to-End Diagnostics 30
User Guide End-to-End Trace Analysis
©SAP AG 2008
End-to-End Diagnostics 31
User Guide End-to-End Trace Analysis
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:
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.
©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
Download table as
spreadsheet
Show details
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
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.
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.
- 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.
©SAP AG 2008
End-to-End Diagnostics 39
User Guide End-to-End Trace Analysis
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)
©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.
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.
The detail information of CPU time is available in the ‘Client-Side Performance Data’ tray of ‘HTTP Messages Graphics’
tab.
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.
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.
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
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.
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.
©SAP AG 2008
End-to-End Diagnostics 43
User Guide End-to-End Trace Analysis
Hide Cached
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
©SAP AG 2008
End-to-End Diagnostics 46
User Guide End-to-End Trace Analysis
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
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.
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
©SAP AG 2008
End-to-End Diagnostics 49
User Guide End-to-End Trace Analysis
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.
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
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.
- 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.
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.
©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
©SAP AG 2008
End-to-End Diagnostics 56
User Guide End-to-End Trace Analysis
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
Average Data
©SAP AG 2008
End-to-End Diagnostics 59
User Guide End-to-End Trace Analysis
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
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.
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.
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
©SAP AG 2008
End-to-End Diagnostics 64
User Guide End-to-End Trace Analysis
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:
©SAP AG 2008
End-to-End Diagnostics 65
User Guide End-to-End Trace Analysis
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,
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
- 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
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).
©SAP AG 2008