SP23 TA UserGuide

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

Transcript of SP23 TA UserGuide

Page 1: SP23 TA UserGuide

SAP Solution Manager 7.0 EhP1

End-to-End DiagnosticsUser GuideEnd-to-End Trace AnalysisValid starting with Solution Manager SP23Version 1.7, July 2010

Page 2: SP23 TA UserGuide

END-TO-END DIAGNOSTICSUSER GUIDE END-TO-END TRACEANALYSIS

Typographic Conventions Icons

Icon Meaning

Caution

Example

Note

Recommendation

Syntax

Type Style RepresentsExampleText

Words or characters quotedfrom the screen. Theseinclude field names, screentitles, pushbuttons labels,menu names, menu paths,and menu options.

Cross-references to otherdocumentation.

Exampletext

Emphasized words orphrases in body text, graphictitles, and table titles.

EXAMPLETEXT

Technical names of systemobjects. These include reportnames, program names,transaction codes, tablenames, and key concepts ofa programming languagewhen they are surroundedby body text, for example,SELECT and INCLUDE.

Exampletext

Output on the screen. Thisincludes file and directorynames and their paths,messages, names ofvariables and parameters,source text, and names ofinstallation, upgrade anddatabase tools.

Exampletext

Exact user entry. These arewords or characters that youenter in the system exactlyas they appear in thedocumentation.

<Exampletext>

Variable user entry. Anglebrackets indicate that youreplace these words andcharacters with appropriateentries to make entries in thesystem.

EXAMPLETEXT

Keys on the keyboard, forexample, F2 or ENTER.

Page 3: SP23 TA UserGuide

END-TO-END DIAGNOSTICSUSER GUIDE END-TO-END TRACEANALYSIS

Contents1 Introduction ......................................................................................................................................... 4

1.1 How to Use this document .......................................................................................................... 41.2 Required Software Components................................................................................................. 4

2 Architectural overview ........................................................................................................................ 42.1 Trace enabling ............................................................................................................................. 42.2 Performing a trace ....................................................................................................................... 52.3 Collecting traces.......................................................................................................................... 6

3 Application in detail............................................................................................................................. 73.1 Trace enabling ............................................................................................................................. 7

3.1.1 Specify trace locations for tracing with level high.................................................................... 73.1.2 Options .................................................................................................................................. 9

3.2 Trace triggering with SAP Client Plug-In.................................................................................. 103.2.1 Explanation of trace levels ................................................................................................... 103.2.2 Record a navigation step...................................................................................................... 113.2.3 Manual upload of the client trace files to Solution Manager Diagnostics (optional) ............... 15

3.3 Trace triggering with SAP SAPGUI........................................................................................... 163.3.1 Limitations of /SDF/E2E_TRACE ......................................................................................... 163.3.2 Explanation of trace level ..................................................................................................... 163.3.3 Record navigation steps....................................................................................................... 17

3.4 Trace triggering with SAP BW Business Explorer Analyzer................................................... 193.4.1 Trace level ........................................................................................................................... 193.4.2 Global Settings of BEx Analyzer........................................................................................... 193.4.3 Download and install SAP Client Plug-In.............................................................................. 203.4.4 Enable tracing on BW system .............................................................................................. 213.4.5 Record navigation steps....................................................................................................... 223.4.6 Upload trace file manually .................................................................................................... 263.4.7 Analyze trace file.................................................................................................................. 28

3.5 Collecting traces........................................................................................................................ 313.5.1 Options ................................................................................................................................ 33

3.6 Trace evaluation ........................................................................................................................ 343.6.1 Business Transactions ......................................................................................................... 343.6.2 HTTP Analysis ..................................................................................................................... 383.6.3 Server Analysis .................................................................................................................... 523.6.4 Trace Comparison................................................................................................................ 58

4 Appendix............................................................................................................................................ 634.1 Best Practices of Performing E2E Trace Analysis .................................................................. 634.2 Client-Side Performance Counter............................................................................................. 644.3 Limitation for IE7.0..................................................................................................................... 654.4 EEM Related Configuration....................................................................................................... 664.5 Other New Features of SAP Client Plug-In............................................................................... 67

5 Glossary............................................................................................................................................. 69

Page 4: SP23 TA UserGuide

End-to-End Diagnostics 4User Guide End-to-End Trace Analysis

©SAP AG 2008

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 somerestrictions and help the users with problems during the setup, the use and the troubleshooting of E2E Trace in theSolution Manager and the Solution Manager Diagnostics.

1.2 Required Software ComponentsThe 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 allE2E applications. If those prerequisites are not fulfilled completely the E2E Trace Analysis application might not workproperly.

2 Architectural overview

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

For each managed system the trace has to be allowed. For ABAP systems this is done by setting the dynamical profileparameter 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 andonly for this request.

Solution Manager

ABAPJava

ABAP ManagedSystems

Java ManagedSystems

E2E TA

Mbean

Profileparameter

SMDAgent

Reg.Prog IDWEBADMIN SMSY

RFC

RFC

P4

Page 5: SP23 TA UserGuide

End-to-End Diagnostics 5User Guide End-to-End Trace Analysis

©SAP AG 2008

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

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

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

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

Page 6: SP23 TA UserGuide

End-to-End Diagnostics 6User Guide End-to-End Trace Analysis

©SAP AG 2008

2.3 Collecting tracesThe following picture explains how the different traces are collected.

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

Solution Manager

ABAPJava

ABAP ManagedSystems

Java ManagedSystems

E2E TA

HTTP browserBusinessTransaction.xml

sat_sqltrace.*.xml

HTTPresponses*.trc

Byte Code agent

Wily EM

dsr

SQL TRACE

ABAP SSR

ABAP Trace

Icm HTTP log

SMD Agent

JDBC

Reg.Prog IDWEBADMIN SMSY

RFCRFC

P4

HTTP

Page 7: SP23 TA UserGuide

End-to-End Diagnostics 7User Guide End-to-End Trace Analysis

©SAP AG 2008

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

1. Allow tracing in the managed systems (trace enabling)2. Perform a trace3. Collect all traces4. Evaluate all traces

3.1 Trace enablingIn the E2E Trace application tracing for all selected managed systems can be allowed centrally in the tab 'TraceEnabling'.

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 SolutionManager 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 highWithin the E2E trace application you can specify in advance the log levels for certain log locations. Those log levels willbe used when the end-user records a trace with trace level High. Take account that those log levels will only be usedfor the user who is performing the trace. All other users working on the system(s) will not be affected.

Page 8: SP23 TA UserGuide

End-to-End Diagnostics 8User Guide End-to-End Trace Analysis

©SAP AG 2008

Example:You want to increase the log level for location com.sap.tc.webdynpro.sessionmanagement to severity level DEBUG asdescribed 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 aregrouped package names. You can also choose a location from the table 'AvailableLocations' 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 thetable 'Available Locations' but when you need DEBUG information it is recommended torestrict 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 tohigh response times and high system load even for single user traces.

Page 9: SP23 TA UserGuide

End-to-End Diagnostics 9User Guide End-to-End Trace Analysis

©SAP AG 2008

Storing TemplatesThe chosen and entered locations with the severity levels can be stored as templates and can be reused later byanother 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 'WDsessions ALL'. All stored templates can be displayed in the tray templates:

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

The default value is 30 minutes.

Page 10: SP23 TA UserGuide

End-to-End Diagnostics 10User Guide End-to-End Trace Analysis

©SAP AG 2008

3.2 Trace triggering with SAP Client Plug-In

3.2.1 Explanation of trace levelsThe 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 therelationship between different managed systems and to show how much time is spent on each system. No server-sidetraces are triggered in this case and thus the performance overhead is very low. Use this trace level if you want to doperformance measurements.

Trace Level Medium

This trace level represents a performance trace. In the table below you can see which traces are triggered when usingthis 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 onthe response time.The following table gives an overview of the traces written per trace level.

J2EE

Tracelevel

HTTPlog

SQLTrace Logging

IntroscopeTransactionTrace

NoneLow xMedium x x XHigh x x x X

ABAP

Tracelevel

HTTPlog

SQLTrace

ABAPTrace

RFC Authorization

WebserviceTrace(SRTUTIL)

ESF Trace(ESFUTIL)

BIStatistics

ApplicationLog

VMCTrace

NoneLow x

Medium x xAggregated x x

Performance trace x x

High x x

Nonaggregated x x x Data trace x x x

= Summary displayed in SMD= not displayed in SMD

Page 11: SP23 TA UserGuide

End-to-End Diagnostics 11User Guide End-to-End Trace Analysis

©SAP AG 2008

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

1a. Run the executable “SAPClientPlugin.exe” to extract the Plug-In andthe GUI of the Client Plug-In will appear.

1b. In the Application list, the default valueis ‘Microsoft Internet Explorer (6, 7)’. Justclick ‘Launch’ button and there will be a newIE session instrumented by the Client Plug-In and thus the HTTP stream can berecorded.

1c. If you want to run the Client Plug-Inrecording 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.

Page 12: SP23 TA UserGuide

End-to-End Diagnostics 12User Guide End-to-End Trace Analysis

©SAP AG 2008

2. In the instrumented IE navigate to thelocation you want to record. Then in the textfield of Client Plug-In enter a name for theTransaction and navigation step you want torecord, e.g. “Portal Tracing” and “LoginStep” and then press the “Start Transaction”button.

Remark: For performing a plain HTTPanalysis you can choose a “Session TraceLevel” of “Low”.

Background:TermID is used to start Debug process inABAP backend. Ignore this if you do notwant to debug.

3. Perform a single navigation step, e.g.click the “Logon” button in the portal logonpage.

After each step has finished, press the “NewStep” Button and a new step is ready torecord.

Remark: Make sure that you always recorda single click! Otherwise it will be verydifficult to analyze the result as you do notexactly know which HTTP requests belongto what click in the browser.

Caution:In case you receive an authentication popupDO NOT PRESS “New Step” as you willlose information if acting otherwise.

Page 13: SP23 TA UserGuide

End-to-End Diagnostics 13User Guide End-to-End Trace Analysis

©SAP AG 2008

4. Stopping the Trace:Wait until the entire content of the web sitehas been downloaded.

If the traced application provides a log offfunctionality, record the log off itself in anew step and then in the Client Plug-In clickthe “Stop Transaction” button.

If the traced application does not provide alog off functionality click the “StopTransaction” button, then the 'StartTransaction' button and close the browser.

Remark: Some applications do not clean upthe sessions when aborting the trace byclosing the Plug-In and the sessions stayalive until session timeout.

5. If you have maintained SMD host andport information the upload of the clienttrace will happen automatically.

Caution:DO NOT perform further steps in thisbrowser. Wait until the entire client tracehas been uploaded, then in the Client Plug-In click the “Exit” button.DO NOT close the browser or logoff fromsystem unless you want the trace thisaction.Background: Session close is probablydone with same existing passport in thesystems.If the connection fails for whatever reasonyou will receive a warning or error message.

Check the log directory for the followingdirectory(ies) and file(s)- DATE_TIME_<Transaction Name>- BusinessTransaction.xml

Page 14: SP23 TA UserGuide

End-to-End Diagnostics 14User Guide End-to-End Trace Analysis

©SAP AG 2008

Upload them manually to the trace analysis

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

Click ‘New Step’Click ‘Pause’Perform the actions(clicks) which you do notwant to record in the traceClick ‘Continue’Perform the action(click) you want to recordin the trace

Page 15: SP23 TA UserGuide

End-to-End Diagnostics 15User Guide End-to-End Trace Analysis

©SAP AG 2008

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 therelevant systems.

2. In the Trace Analysis application press the“Browse…” button and navigate to the directorythat has been created. Select the file“BusinessTransaction.xml” which contains theclient-side HTTP traces.

3. After pressing the “Upload” button you willsee a new entry in the table “TransactionOverview” and the server side traces can becollected.

Page 16: SP23 TA UserGuide

End-to-End Diagnostics 16User Guide End-to-End Trace Analysis

©SAP AG 2008

3.3 Trace triggering with SAP SAPGUIAn 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 hasseveral limitations

3.3.1 Limitations of /SDF/E2E_TRACE1. The user who should record the trace needs at least the Authority for SA38 for executing the report and the profileS_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 andapplication server. Therefore the time is displayed in the E2E Trace application as Client/Network time.

3.3.2 Explanation of trace levelReport /SDF/E2E_TRACE provides five different trace levels, four (None - High) with the same meaning as for the SAPClient 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 isrecommended to choose for the ABAP Trace the last option ('Particular Units'). Beforeyou start the dialog step of your interest enter /RON in the OK-Code field and after thedialog step either enter /ROFF in the OK-Code filed or leave the transaction with Exit .

Page 17: SP23 TA UserGuide

End-to-End Diagnostics 17User Guide End-to-End Trace Analysis

©SAP AG 2008

3.3.3 Record navigation stepsThis 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 orin SA38 by executing program/SDF/E2E_TRACE

2. Choose a trace level, enter a Transactionand press Start Transaction.The Business Transaction Name needn't tobe filled. If it is empty it will be filled with therecorded Transaction, User name and timestamp

3 Perform your dialog steps as usual andleave the transaction with the EXIT button.

Caution:Do not perform any further action duringrecording with your user on the same serverin parallel.4. Save the BusinessTransaction.xml file onyour client.

Page 18: SP23 TA UserGuide

End-to-End Diagnostics 18User Guide End-to-End Trace Analysis

©SAP AG 2008

5. Upload the file manually to the traceanalysis.

In the Trace Analysis application press the“Browse…” button and navigate to thedirectory that has been created in section 4.Select the file “BusinessTransaction.xml”which contains the client-side traces.

Page 19: SP23 TA UserGuide

End-to-End Diagnostics 19User Guide End-to-End Trace Analysis

©SAP AG 2008

3.4 Trace triggering with SAP BW Business Explorer AnalyzerAn E2E Trace can be started from within SAP BW Business Explorer Analyzer to record all RFC calls to the BWbackend.

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

3.4.2 Global Settings of BEx AnalyzerThis 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 startmenu choose ‘All Programs’ -> ‘BusinessExplorer’ -> ‘Analyzer’An MS Excel will start up including the BExAnalyzer tool bar.

2. In the BEx Analyzer toolbar choose‘Global Settings’

Page 20: SP23 TA UserGuide

End-to-End Diagnostics 20User Guide End-to-End Trace Analysis

©SAP AG 2008

3. In tab ‘Behaviour’ set the flag: ‘Start BExAnalyzer When MS Excel Starts’ and push‘OK’.

4. Close BEx Analyzer (MS Excel).

3.4.3 Download and install SAP Client Plug-InUsers 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 thePlug-In tool, navigate to the folder where itis located and open the file‘smd.properties’.

.

2. Check that parameter ‘eem_active’ isset to ‘0’ (to switch on EEM Recorderfunctionality, you would have to change thevalue to 1).

3. To enable automatic upload of the‘Business Transaction’ file to SolutionManager Diagnostics, you have to enter‘SMD Host’ and ‘SMD HTTP Port’.

Page 21: SP23 TA UserGuide

End-to-End Diagnostics 21User Guide End-to-End Trace Analysis

©SAP AG 2008

3.4.4 Enable tracing on BW systemBefore 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 BWsystem -> push ‘Trace Analysis’.

2. In the E2E Trace Analysis application, goto tab ‘Trace Enabling’, select the ABAPstack of the BW system and push ‘Enable’.

Page 22: SP23 TA UserGuide

End-to-End Diagnostics 22User Guide End-to-End Trace Analysis

©SAP AG 2008

3.4.5 Record navigation stepsThis 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 theE2E TA Plug-In

2. At the new pup-up push the ‘Assign…’button. Note: do not select ‘Microsoft OfficeExcel’ as Application from the drop-downbox.

3. In the new browser pop-up (per defaultnavigated to the MS Office folder) choose‘EXCEL.EXE’ from the list of executablefiles, by double-clicking on the filename orsingle-click on the filename and push‘Open’ button..

Page 23: SP23 TA UserGuide

End-to-End Diagnostics 23User Guide End-to-End Trace Analysis

©SAP AG 2008

4. In the Plug-In push the ‘Launch’ button toopen the customer Application‘EXCEL.EXE’.

5. In the new pop-up select ‘InstrumentRFC protocol’, keep ‘librfc32’ as defaultvalue and push ‘OK’ to start BEx Analyzer(MS Excel including BEX Analyzer toolbar).

6. To start recording enter a ‘BusinessTransaction Name’, an ‘Executed StepName’, select the right ‘Trace level’ andpush ‘Start Transaction’.Note: To get BW statistics switched on, youhave to start the recording before the firstquery execution.

The default for the ‘Output Directory’ pointsto the log folder in your Plug-In folder.Please remember this folder as we mayhave to manual upload the file later on.

Page 24: SP23 TA UserGuide

End-to-End Diagnostics 24User Guide End-to-End Trace Analysis

©SAP AG 2008

7. In Bex Analyzer push ‘Open Query’ or‘Open Workbook’ and logon to your BWsystem.

8. In the Plug-In window you can see thatthe number of ‘Sent Bytes’, ‘ReceivedBytes’, Requests, ... will increase

Page 25: SP23 TA UserGuide

End-to-End Diagnostics 25User Guide End-to-End Trace Analysis

©SAP AG 2008

9. Push the ‘New Step’ button (the numbersare always set to 0, so that we get singlenumber for every step) and enter a newstep name. Execute the Query / Workbookin the Analyzer.

.

10. Perform for every navigation steps inthe same way:a) Push ‘New Step’b) enter new Step Namec) Execute Navigation Step…

11. At the end of your recording push ‘StopTransaction’ and ‘Exit’.If the ‘SMD Host’ and ‘SMD HTTP Port’ isconfigured (smd.properties) the ‘businessTransaction’ file is automatically uploadedto the Solution Manager Diagnostics.Finally the Plug-In window will disappear.

Page 26: SP23 TA UserGuide

End-to-End Diagnostics 26User Guide End-to-End Trace Analysis

©SAP AG 2008

3.4.6 Upload trace file manuallyThis chapter describes how to upload a recorded trace file manually.

1. Start Solution Manager Diagnostics ->‘End to End Analysis’ -> Select your BWsystem -> push ‘Trace Analysis’.

2. In the E2E Trace Analysis application goto tab ‘Trace Analysis’, open the ‘ManualUpload’ section. Push ‘Browse’ to’UploadBusiness Transaction.xml’.

3. A new browser window appears. Thereyou have to navigate to the Output directoryof the EEM Recorder. There is a ‘log’folder, and a new folder inside this logfolder for every recording session, with thefollowing naming convention:‘<day>_<time>_<business transactionname>4. Doubleclick on the right folder, select thefile ‘BusinessTransaction.xml’ and push‘Upload’.

Page 27: SP23 TA UserGuide

End-to-End Diagnostics 27User Guide End-to-End Trace Analysis

©SAP AG 2008

5. Mark the line with the right Businesstransaction and a new pop-up appears.Push ‘Yes’ to collect the traces from theBW backend.

6. Depending on the System types andtrace level different trace records arecollected

7. The results of trace data collection aredisplayed as information after the collectionis finished

Page 28: SP23 TA UserGuide

End-to-End Diagnostics 28User Guide End-to-End Trace Analysis

©SAP AG 2008

3.4.7 Analyze trace fileThis chapter describes how to analyze a recorded trace file.

1. When you mark the line with the rightBusiness transaction the list of transactionsteps are displayed in a new ‘TransactionSteps’ table. Mark the step you areinterested in and push ‘Display’

2. In the Message Summary tab you get anoverview, where most time was spent, likenetwork, server or other. For detailedanalysis push ‘Auto-Analysis’ button

Page 29: SP23 TA UserGuide

End-to-End Diagnostics 29User Guide End-to-End Trace Analysis

©SAP AG 2008

3. Check all RFC calls to the backend in themessage table and find the one whichtakes most of the time.

4. To display BI Statistics, click on the Iconand logon to the BW backend system.

5. You are leaded directly to the ‘BI-IPPerformance Toolset’, where the E2EPassport IDs are filled automatically intothe entry screen. Push ‘Execute’ to analyzethe BW statistics in detail.

6. To analyze the database performance,push the icon to get a summary of theABAP SQL trace.

Page 30: SP23 TA UserGuide

End-to-End Diagnostics 30User Guide End-to-End Trace Analysis

©SAP AG 2008

7. Analyze the database calls in detail.

8. To analyze the ABAP performance pushthe icon to get a summary of the ABAPtrace

9. Analyze the ABAP calls in detail.

Page 31: SP23 TA UserGuide

End-to-End Diagnostics 31User Guide End-to-End Trace Analysis

©SAP AG 2008

3.5 Collecting tracesAll uploaded traces are displayed in the table Business Transactions with the name you specified in the SAP ClientPlug-In and the time when the trace has been recorded.

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 ExperienceMonitoring) Script Runner.

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

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

Traces havenot beencollected

Filter

Page 32: SP23 TA UserGuide

End-to-End Diagnostics 32User Guide End-to-End Trace Analysis

©SAP AG 2008

Note:

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

In two cases you have to uncheck this checkbox to go through all the Java server nodesresp. 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 thecookies 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, thetrace 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

Page 33: SP23 TA UserGuide

End-to-End Diagnostics 33User Guide End-to-End Trace Analysis

©SAP AG 2008

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

3.5.1 OptionsWithin the options tab you can specify for several traces how many records will be collected from the managedsystems 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 theexample above maximum 20 Introscope Transaction Trace records are read and persisted per unique passport.

Page 34: SP23 TA UserGuide

End-to-End Diagnostics 34User Guide End-to-End Trace Analysis

©SAP AG 2008

3.6 Trace evaluationTo 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 TransactionsAll uploaded traces are displayed in the table Business Transactions with the name you specified in the SAP ClientPlug-In and the time when the trace has been recorded.

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

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

DownloadThe entire E2E Trace can be downloaded as an XML file. This might be helpful for analysis and can be uploaded toanother SAP Solution Manager.

Locked againstautomatic deletion

Show details

Download table asspreadsheet

Download entire E2Etrace as XML file

Page 35: SP23 TA UserGuide

End-to-End Diagnostics 35User Guide End-to-End Trace Analysis

©SAP AG 2008

Client Information

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

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

ExportThe table with the Business Transactions can be downloaded as spreadsheet.

Page 36: SP23 TA UserGuide

End-to-End Diagnostics 36User Guide End-to-End Trace Analysis

©SAP AG 2008

Group Business Transactions by nameThe listed Business Transactions are grouped by name after clicking this button. This might be helpful for comparisonof Business Transactions.

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

Group Business Transactions by ChoiceYou can select multiple Business Transactions via Ctrl + left click. And then by clicking this button, you can put theBusiness 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

Page 37: SP23 TA UserGuide

End-to-End Diagnostics 37User Guide End-to-End Trace Analysis

©SAP AG 2008

OptionsWithin the options tab you can specify the lifetime of the Business Transactions and the display mode of E2E TraceSummary.

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 StepsFor the chosen Business Transaction you see the recorded Transaction Steps with the recorded Trace level (TL), thenumber of HTTP requests (#Msg) and the total duration of this step. For each step you can enter a comment for lateranalysis or other persons.

Page 38: SP23 TA UserGuide

End-to-End Diagnostics 38User Guide End-to-End Trace Analysis

©SAP AG 2008

When pressing the 'Display Transaction Step details' button , the details of the transaction steps will be displayed asfollows, 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 AnalysisAfter 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 TransactionStep name. You could press button or to go to the HTTP Analysis page for the previous or nextTransaction Step.

Auto Analysis

Auto-Analysis is recommended when you make a performance analysis and are just interested in the most expensiverequest 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

Page 39: SP23 TA UserGuide

End-to-End Diagnostics 39User Guide End-to-End Trace Analysis

©SAP AG 2008

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).

a) Client Trace SummaryThis part contains all the values measured by the SAP Client Plug-In on client side.

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

a)

b)

c)

d)

Page 40: SP23 TA UserGuide

End-to-End Diagnostics 40User Guide End-to-End Trace Analysis

©SAP AG 2008

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

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

Total durationThis time is measured when the first request is sent out until the last event is raised. It could include also wait time fromend-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 necessarilyreflect the response time experienced by the end user. Part of the client processing maynot be recorded by the Plug-In. The response time can be approximated by adding theuser and kernel CPU time to the total duration.

Spreading of CPU timeThe CPU time (User CPU time and Kernel CPU time) is measured for the browser process and includes Cacheaccesses, 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 DurationThe network time displayed in the pie chart was not measured on network layer but rather is calculated by means ofthe difference between client response time and server response time. Therefore the network time must be seen as anapproximation. The measurement of the client response time takes place inside the browser and starts when the firstByte of an HTTP request leaves the browser and ends when the last Byte of an HTTP response has arrived. Becauseof this type of measurement the client response time can be impacted in several ways. In addition to network- andserver-time it includes time that was spent by the browser itself as well as time spent by other processes running on theoperating 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 andmight 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, thenetwork 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 intoconsideration and subtracts the duplicated time. The total time here should be almost the same with total duration inthe client trace summary. The percentage values are displayed without decimal place. Therefore it can happen that thesum will not lead to exactly 100%.

Note:

If the server logs are not uploaded or collected and the network layer events are notavailable, 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 thenetwork layer events are available, the calculated approx server gross time will beregarded as other (server) time.

Page 41: SP23 TA UserGuide

End-to-End Diagnostics 41User Guide End-to-End Trace Analysis

©SAP AG 2008

Client timeThis 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 fornested pages to completely wrong values.

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

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

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

Client Rendering timeThis 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 tocalculate it is that the network layer events are available.

Time

Server (e.g. SAPJ2EE Engine)

ServerResponseTime

Rendering/loading ofsub-requests

NetworkDelay

NetworkDelay

ClientResponseTime

Client Plug-In adds Header X-CorrelationID: to each request

HTTP service writes correlationID from header to HTTP log file

Client Plug-In writes response timesand browser events toBusinessTransaction.xml

Preprocessingand queueingtime

BlockedTime

Internet Explorer

Page 42: SP23 TA UserGuide

End-to-End Diagnostics 42User Guide End-to-End Trace Analysis

©SAP AG 2008

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.- A 3rd party Web Application Server was called.

Network time between serversThe network time between the server components cannot be calculated per request but only per statistical recordwhich 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 forzipped 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 meansparallel executions could lead to a higher time than total duration in the client trace summary. The meaning of differentkinds of times here is the same with ‘Times (Critical Path)’.

Note:The times described in ‘Time (accumulated)’ are measured and accumulated for parallelrequests whereas the total duration time in part ‘a) Client Trace Summary’ is measuredin the Plug-In from the event when starting the trace until stopping the trace. Therefore itcould 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 thetimes in ‘Time (accumulated)’ because client rendering time is not included in thecalculation.

c) HTTP Status CodesThis table contains all the returned status codes for all requests. The distribution of the status codes is additionallydisplayed in a pie chart.

d) Transaction Step DetailsHere all instances, server nodes and hosts that are involved with direct HTTP communication are listed.

Page 43: SP23 TA UserGuide

End-to-End Diagnostics 43User Guide End-to-End Trace Analysis

©SAP AG 2008

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

Hide Cached

Hide Static ResourcesUsing these filter options the table contains then only dynamic requests.

Line Based FilterBesides the column based filter ‘Hide Cached’ and ‘Hide Static Resources’, you could also use the line based filter tohide certain Http messages. By moving the mouse to the right side in ‘id’ column of a certain Http message, you willsee 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 inHttp analysis.- By clicking the ‘Mark as start’ item, the chosen Http message will be regarded as the first message of thecorresponding 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 thecorresponding 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.

Page 44: SP23 TA UserGuide

End-to-End Diagnostics 44User Guide End-to-End Trace Analysis

©SAP AG 2008

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 higherthan 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 canget 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.

Page 45: SP23 TA UserGuide

End-to-End Diagnostics 45User Guide End-to-End Trace Analysis

©SAP AG 2008

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.

Page 46: SP23 TA UserGuide

End-to-End Diagnostics 46User Guide End-to-End Trace Analysis

©SAP AG 2008

HTTP Header analysisBelow the HTTP Message table you can find the sent and received HTTP headers of the HTTP requests andresponses (if available). You can check if HTTP headers were probably been modified or truncated by any componentbetween 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.

Page 47: SP23 TA UserGuide

End-to-End Diagnostics 47User Guide End-to-End Trace Analysis

©SAP AG 2008

Message graphics tabThe 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, whichis calculated from Critical Path Algorithm. By moving your mouse over an HTTP Message Id the URL will be displayedin a tooltip and by moving the mouse over a bar the according time in milliseconds will be displayed.

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

Client Wait/Pre-processing TimeIndicates the time spent in the browser before the request leaves the browser (cPT).

Client Blocked TimeIndicates the time spent for HTTP request to wait for certain condition to begin data transfer.

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

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

HTTP MessageID of HTTPRequest

ResponseTime

Page 48: SP23 TA UserGuide

End-to-End Diagnostics 48User Guide End-to-End Trace Analysis

©SAP AG 2008

Client Wait/Rendering TimeThis 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 tocalculate 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 SentIt is the timestamp when the client sends the first byte of HTTP request data.

Last Byte SentIt is the timestamp when the client sends the last byte of HTTP request data.

First Byte RcvdIt is the timestamp when the client receives the first byte of HTTP response data.

Last Byte RcvdIt is the timestamp when the client receives the last byte of HTTP response data.

Left Mouse ClickIt is the timestamp when the end user performs the left mouse click.

Page 49: SP23 TA UserGuide

End-to-End Diagnostics 49User Guide End-to-End Trace Analysis

©SAP AG 2008

Message Filter for graphicsIn 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 toonarrow 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 isthe result of clicking button.

Page 50: SP23 TA UserGuide

End-to-End Diagnostics 50User Guide End-to-End Trace Analysis

©SAP AG 2008

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 thetimeframe are filtered.

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

Shift the beginning of the HTTP messages graphic to the previous HTTP message : By clicking this button, themessage right before the first HTTP message in the current graphic is un-filtered. If the first HTTP message in thecurrent 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 lastHTTP 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 rightafter the last HTTP message in the current graphic is un-filtered. If the last HTTP message in the current graphic is alsothe 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 theHTTP message graphic.

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

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

CPU Utility (%)

Duration when tracerecording

Page 51: SP23 TA UserGuide

End-to-End Diagnostics 51User Guide End-to-End Trace Analysis

©SAP AG 2008

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 PrivateBytes are in 4.2 Client Performance Counter of this document.

MemoryConsumption(Bytes)

Duration whentrace recording

Page 52: SP23 TA UserGuide

End-to-End Diagnostics 52User Guide End-to-End Trace Analysis

©SAP AG 2008

3.6.3 Server Analysis

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

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 roughindicator 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 abovesnapshot, the sum of net time of F16 (959ms), HNI (952ms) and the time for RFC (265ms) equals to the accumulatedserver gross time (2,176ms).With pressing the button 'Change View' you can display the System Overview as a table:

Sum of net Time andPercentage of totalserver gross time

System Type SID andInstance(s)

Page 53: SP23 TA UserGuide

End-to-End Diagnostics 53User Guide End-to-End Trace Analysis

©SAP AG 2008

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

Special caseThe time on an arrow for the connection protocol could be very high when in the called system no statistical recordexists 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 errorand 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.

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

Request tree tabIn 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 viaHTTP.

Page 54: SP23 TA UserGuide

End-to-End Diagnostics 54User Guide End-to-End Trace Analysis

©SAP AG 2008

The complete process time for this request was 1938 milliseconds. The J2EE Engine processed the request, 721milliseconds were spent in J2EE and about 1271 milliseconds were used to execute back-end calls. The RFC calls aredisplayed for each RFC connection. The most expensive one took 950 milliseconds whereas the most expensivefunction 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 timeof 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 orSYSTEM_RESET_RFC_SERVER (during session close) might not be recorded and countin J2EE DSR record as outgoing RFC request. Therefore it can happen that the numberof RFC calls in a DSR record can differ to the amount of incoming RFC calls in the ABAPstatistic records.

Possible request types in request tree Incoming HTTP request

These values are taken from the HTTP logs.

Incoming J2EE requestThese values are taken from the DSR records.

Outgoing J2EE requestThese values are taken from the DSR records.

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

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

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

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

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

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

ABAP Runtime ErrorThis icon appears together with the runtime error when a short dump has been written.

Enterprise Service Infrastructure Summary recordThese values are taken from the ESI statistical sub-records

Possible trace types in request tree Performance Trace

Page 55: SP23 TA UserGuide

End-to-End Diagnostics 55User Guide End-to-End Trace Analysis

©SAP AG 2008

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

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

Functional TraceThis is a jump-in capability to the J2EE log viewer or to further logs in the ABAP system (e.g. Application log, shortdumps). 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 transactionSRTUTIL in the managed ABAP system.

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

Page 56: SP23 TA UserGuide

End-to-End Diagnostics 56User Guide End-to-End Trace Analysis

©SAP AG 2008

Detailed server trace analysisYou can perform deeper trace analysis for each request when clicking on the relevant icon. Always a new window isopening 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 therelevant trace/log in the managed system. If possible you can jump from here directly into the trace/log in the managedsystem.

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

Performance TraceWhen clicking on the icon for the Performance trace a new window is started containing the summary of the WilyIntroscope 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. Fordetails 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, inthe snapshot below you can see a screenshot of a transaction trace that contains an external call to an AdobeDocument Server.

The selected line shows that 31685ms are spent on the J2EE Engine to process a method in a certain EJB. In fact, theEJB 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 seethat 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 tracewithin 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 anddownloaded to your browser on client-side.

Page 57: SP23 TA UserGuide

End-to-End Diagnostics 57User Guide End-to-End Trace Analysis

©SAP AG 2008

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 tracecollection 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 anddisplayed 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 summaryof Dumps and Application Log entries for ABAP systems.

Page 58: SP23 TA UserGuide

End-to-End Diagnostics 58User Guide End-to-End Trace Analysis

©SAP AG 2008

3.6.4 Trace ComparisonThere 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 TransactionsYou can group the listed Business Transactions by name or by choice. The detailed introduction is in section 3.6.1Business Transactions of this document. After grouping, you can compare different Business Transactions within agroup, and the average data in detail is displayed in the first line of each group.

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

Average Data

Page 59: SP23 TA UserGuide

End-to-End Diagnostics 59User Guide End-to-End Trace Analysis

©SAP AG 2008

The Grouped Transaction Steps table is then displayed and you can compare the performance data of differentTransaction 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 correspondingTransaction Steps from different Business Transactions.

Choose the grouped line

All Transaction Steps of theBusiness Transactions withinthe group are displayed

Page 60: SP23 TA UserGuide

End-to-End Diagnostics 60User Guide End-to-End Trace Analysis

©SAP AG 2008

Comparison of HTTP MessagesIn 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 resultappears in the E2E Trace comparison view.

Page 61: SP23 TA UserGuide

End-to-End Diagnostics 61User Guide End-to-End Trace Analysis

©SAP AG 2008

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

Transaction Steps SummaryIn this area, the overall performance information for the 2 Transaction Steps (Presented as A & B in the view) isdisplayed. 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 ComparisonThere 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 thatthe 2 HTTP messages from 2 Transaction Steps could be mapped (They have the same URL). The detail performancedata of the 2 HTTP messages is displayed in the table. You can easily compare the performance data of the HTTPmessages which have the same URL.

By clicking the title of a certain column of performance data, you can sort the table according to the correspondingcolumn. The table is sorted by sRT A (server response time for Transaction Step A) as default setting. The descriptionof the table columns is the same with the columns in HTTP Message table in section 3.6.2 HTTP Analysis of thisdocument. 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 cannot be mapped automatically. After manual mapping, the performance data of the 2 chosen HTTP messages will be putin one line for comparison.

Comparison of Detail traces of HTTP MessagesBesides the comparison of the HTTP Messages, you can also compare the corresponding detail traces of the mappedHTTP 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 ofan Aggregated ABAP trace comparison of 2 HTTP Messages.

Page 62: SP23 TA UserGuide

End-to-End Diagnostics 62User Guide End-to-End Trace Analysis

©SAP AG 2008

In the pop-up which shows the result of the detailed trace comparison, A (B) means the performance data of thiscolumn belongs to Transaction Step A (B). You can also sort the table according to the corresponding column byclicking 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 TransactionSteps 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 Messagesof both Transaction Steps. You can click the certain tab to see the result of detail trace comparison for the wholeTransaction Steps.

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

Page 63: SP23 TA UserGuide

End-to-End Diagnostics 63User Guide End-to-End Trace Analysis

©SAP AG 2008

4 Appendix

4.1 Best Practices of Performing E2E Trace AnalysisFollowing is several best practices of performing E2E Trace Analysis.

Do not trace an initial callIf you want to trace one action (e.g. a button click), please always execute the action before the trace is recorded. Thenyou could trace the action via SAP Client Plug-In. The reason is to fill the caches and avoid unnecessary tracecollection.

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

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

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

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

Click ‘Auto-Analysis’ button for performance analysisAuto-Analysis is recommended when you make a performance analysis and are just interested in the most expensiverequest and you want to identify where most of the time is spent.

Use filter and sort functions during analysisFilter and sort functions are implemented for most performance data tables. Using these functions will accelerate yourperformance analysis process.

Page 64: SP23 TA UserGuide

End-to-End Diagnostics 64User Guide End-to-End Trace Analysis

©SAP AG 2008

4.2 Client-Side Performance CounterThere 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 subtractingthat time from interval duration. (Each processor has an idle thread that consumes cycles when no other threads areready to run). This counter is the primary indicator of processor activity, and displays the average percentage of busytime observed during the sample interval. It is calculated by monitoring the time that the service is inactive, andsubtracting that value from 100%.

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

Memory Committed Bytes: Committed Bytes is the amount of committed virtual memory, in bytes. Committed memoryis the physical memory which has space reserved on the disk paging file(s). There can be one or more paging files oneach 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 beshared with other processes.

IE Virtual Bytes: Virtual Bytes is the current size, in bytes, of the virtual address space the process is using. Use ofvirtual address space does not necessarily imply corresponding use of either disk or main memory pages. Virtual spaceis 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 setof 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 Setbefore leaving main memory.

Note:

All the definitions come from Microsoft.

Page 65: SP23 TA UserGuide

End-to-End Diagnostics 65User Guide End-to-End Trace Analysis

©SAP AG 2008

4.3 Limitation for IE7.0When analyzing trace recorded based on IE7.0, you may find that the Network time is too high. The reason is that theClient Response time measured by the SAP Client Plug-In is too high for zipped responses. (Network time is calculatedas 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,

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

It is zippedresponse

Data has beenunzipped

Page 66: SP23 TA UserGuide

End-to-End Diagnostics 66User Guide End-to-End Trace Analysis

©SAP AG 2008

4.4 EEM Related ConfigurationIn ‘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 defaultvalue 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 andstatistical 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 asIntroscope 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.

Page 67: SP23 TA UserGuide

End-to-End Diagnostics 67User Guide End-to-End Trace Analysis

©SAP AG 2008

4.5 Other New Features of SAP Client Plug-InThere are two main new features of SAP Client Plug-In for SP22.

smd.properties fileIn the Client Plug-In folder, we could change the properties of this tool in the ‘smd.properties’ file. The main propertiesare listed below,collect_system: 1 is the default value which means collecting client information during trace recording. Normally you donot 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 needto 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 FilterIf you add property ‘_config_button’ to smd.properties file and set it to 1, you will see the ‘Configurations…’ buttondisplayed when running Client Plug-In.

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

Page 68: SP23 TA UserGuide

End-to-End Diagnostics 68User Guide End-to-End Trace Analysis

©SAP AG 2008

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

Page 69: SP23 TA UserGuide

End-to-End Diagnostics 69User Guide End-to-End Trace Analysis

©SAP AG 2008

5 GlossaryBusiness Transaction

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

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