End-to-End Trace Analysis

The main purpose of E2E Trace Analysis is investigating problems related to a single user activity caused by one or more user clicks in the front end. Single user click in a Web UI or Portal front end can trigger one or more requests to the web server. While the web application running on the web server processes a request, it can trigger several requests to other components (systems) in the solution landscape. These components on their side can trigger additional requests to their components and so on.

The analysis of performance and functional problems in such a complex landscape is time consuming and requires expert knowledge. The end-to-end cross component tracing aims to decrease the time for gathering the relevant trace data related to a single user activity and simplifies the analysis by guiding the user through the analysis steps and identifying the component which consumes the biggest amount of the total execution time. In addition, it is possible to find exceptions which were triggered by the request in one of the connected component.

This all is achieved with the help of the SAP Passport. The passport is a simple extension of the communication protocols used in SAP landscape (such as HTTP or RFC) and consists of two parts. The first one is a GUID which identifies the requests uniquely, the second one are trace flags which indicate which trace should be turned on in one of the involved components.

The passport is injected on client side into the communication and then later on passed over from system to system. Each system that receives a request which contains a passport turns its trace on dynamically for the processing of this request (based on the trace flags). When the trace is written to the disk or the database the GUID of the passport is included to be able to identify the request later. The passport is also injected into follow up requests when another call to an external system is made, which then turns on the trace dynamically, write it to the disk and so on and so on.

This means actually, that all traces throughout a landscape can be collected for a single click of an end-user because they are identified by the GUID which was generated at client side. Based on the trace information which is collected it is very easy to identify which component took which time to process the request (e.g. processing in Java in an Enterprise Portal, processing in a connected ABAP system, processing on the DB, in the network, on the client side,…) and isolate problem causing components.

But back to the start, the E2E trace is triggered with the HTTP client plugin for web based scenarios or directly from SAPUI5 based applications. Then the end user performs the activities which are causing the problem and the whole tracing process is started in the connected backend systems.

After the trace has been created, SAP Solution Manager collects all the trace data from all systems and displays the results broken down per step in an overview screen (see the below figure). The trace overview allows to identify on which part of the request execution, the most time has been spent (e.g. client, network, server,…).

Figure: Trace Overview

In the given example it can be easily seen, that most of the time is spent on server side, so the next natural step is to look deeper in the server execution and which server instances have been involved.

As you can see in the below figure the execution of a single request can spawn multiple systems. Nevertheless, it is also obvious that in the scenario the most time is spent on the ABAP system T1E (namely around 6,5 seconds).

Figure: Server summary

Following the drill down we can see that out of this 6,5 seconds, nearly all the time is spent by executing a single function module (see the below figure).

Figure: Call Tree with trace time distribution

Now it is possible to analyze on a request level which traces have been triggered by the request and by this identify the function module.

E2E Trace is a very powerful tool which is integrated in all SAP infrastructures and also reused in monitoring & alerting by the End User Experience Monitoring. This deep insight into a SAP system gets more and more useful in today's highly integrated and heterogeneous landscapes.