E2E Root Cause Analysis for HANA
After a SAP HANA system is successfully connected to SAP Solution Manager extractors are scheduled that collect root cause analysis data for the SAP HANA system. This data includes information regarding the workload of the system, changes that happened in the system and exceptions that occurred.
The following RCA areas are available for SAP HANA:
To access the root cause analysis data open the SAP Solution Manager Launch Pad and click on the tile "Root Cause Analysis - Work Center".
Database Analysis (E2E Workload Analysis)
As SAP HANA is a database system the workload analysis data is located under the area "Database Analysis"
The following analysis screens can be found in the Database Analysis section:
- Database -> Host Memory
- Database -> HANA Services Memory
- Database -> HANA Component Memory
- Database -> Resource Usage
- Size -> Host Volume Files
- Size -> HANA Disc Usage
- Size -> Host Volume Pages
- Size -> Top Column Table Partitions
- Size -> Top Tables
- Size -> Persistence Table Size
- I/O -> Performance I/O Statistics
- I/O -> Volume I/O Statistics
- I/O -> HANA Savepoints
- Workload -> SQL Plan Cache Statistics
- Workload -> TOP SQL Statements
- Workload -> Merge Statistics
- Workload -> Top Merges
- Workload -> Thread Samples Overview
E2E Change Analysis
E2E Change Analysis for SAP HANA allows you to analyze changes made to the SAP HANA systems. This changes can be DB revision or parameter changes.
To access the change analysis enter the End-to-End Analysis section in the Work Center.
The first screen shows you an overview over the changes in the HANA system. You see changes on host level and changes on database level.
On the detail tab for the single database you find an overview over the changes per configuration file and host.
From change „Details“ you can jump context sensitive into „Change Reporting“ with the detailed change history per single parameter for the selected config file.
E2E Exception Analysis
In the Exception Analysis view you can see a reporting over the exceptions that happened in your system. As Change Analysis it is entered via the End-to-End Analysis section in the Work Center.
On the tab with the database details you find a listing of all errors.
From here you can navigate to the latest occurrence within the selected time frame (as long as the indexserver trace files are still available and not compressed).
E2E Trace Analysis
E2E trace analysis for SAP HANA is supported since SAP Solution Manager 7.1 SP 08 LMSERVICE patch 01. SAP HANA can be part of a trace in the following scenarios. We will cover each of them in detail.
- ABAP on HANA
- BI Platform (BOBJ) connected to HANA directly (ODBC or JDBC HANA client)
- Lumira Desktop (Java frontend application connected to HANA via HANA JDBC client)
- Analysis Office (Excel based frontend)
- XS engine based java script applications (browser connects to XS engine)
- SAPUI5 / Fiori
Prerequisites
Before you start the tracing please check the following prerequisites are met:
- SAP HANA version >= HANA 1.0 SPS 05
- Solution Manager 7.1 >= SPS08 + LMSERVICE Java patch 01 (Required for automated trace data collection and E2E view)
- For browser (Internet Explorer < 10) and Excel frontends: download SAP Client Plugin (SAP note 1435190)
- For SAPGUI frontend: SAP BASIS 7.40 >= SP3 required (or use WebGUI in browser)
- Adjust HANA E2E trace config
- For HANA 1.0 < SPS 06 set indexserver -> EmbeddedAPI to trace level „Info"
- For HANA 1.0 >= SPS 06 set global.ini -> traceprofile_sap_passport_<level> -> enabled = „true“ for the trace level(s) you want to use (medium / high)
- HANA server trace levels can be defined via specific configuration settings for medium and high
- HANA Performance Trace can be triggered by E2E trace if beforehand enabled on HANA side (HANA >= SP5)
- As of SAP HANA SP 06 also the Expensive Statements Trace can be triggered via SAP Passport
Also check if a tracing application for your client is already available:
Client Application | Status | Version |
ABAP to HANA | available | ABAP kernel 7.40 >= pl 16 |
BOBJ WebI ODBC + JDBC | available | 4.1 SP3 |
BOBJ WebI JDBC | planned | 4.1 SP1 |
BOBJ Crystal (Java) | planned | 4.1 SP5 |
Analysis Office | planned | 2.0 |
Lumira Desktop | available | 1.0.7 |
Browser to XS applications | planned | HANA SP9 |
Architecture
E2E trace analysis can be divided in two basic steps:
- The recording of the trace. While the end-user (or key-user) records the trace using one of the client applications each step that he performs has a SAP passport attached that makes it possible later on to assign trace and analysis files to the E2E trace.
- Once the end-user finishes the trace all client trace data like frontend traces are uploaded to SAP Solution Manager
- When the analyst opens the trace in SAP Solution Manager, SAP Solution Manager collects all backend trace data, like ABAP traces, SQL traces, DB traces etc.
Taking a Trace
The way how to trigger and take a trace depends on the client application you are using to take the trace.
The SAP Client plug-in can be downloaded from SAP note 1435190 and already supports several different frontends.
Browser-based E2E Trace
If your frontend is a browser (e.g for portal applications, Web GUI etc.) you can use the SAP Client plug-in to create a trace:
- End all Internet Explorer processes
- Start SAP Client Plugin (plugin-starter-gui.exe)
- Start new IE via SAP Client Plugin (here you can also select MS Office frontends e.g. Excel for Analysis Office scenario)
- Choose name for E2E trace („Business Transaction“) and select trace level (Medium or High for HANA)
- Navigate to what you want to trace in the application
- Start trace with „Start Transaction“ Optionally mark/name new end-user steps „New Step“
- End trace with „End Transaction“
- Upload BusinessTransaction.xml (automatic via SolMan host + J2EE http port or manual in SolMan)
HANA E2E Trace for ABAP on HANA
To take a trace in an SAP GUI application you can
- use the OK-code /$gui_e2e_trace to turn on the tracing in ABAP (as of SAP Basis 7.40 SP3)
- run the transaction in Web GUI using the SAP Client plug-in
In both cases tracing is automatically enabled in the ABAP system as well as in HANA. When you analyze the trace in SAP Solution Manager make sure to select the ABAP System as well as the HANA system when opening the trace application.
HANA E2E Trace for BOBJ to HANA
For the BOBJ scenario there are three different tracing options:
- If you use BOBJ in the browser use the SAP Client plug-in and launch the browser to take a trace
- If you want to trace an SAP Analysis Office (MS Excel Add-In) application, use the SAP Client plug-in and launch Excel (see below for details)
- If you use SAP Visual Intelligence (HILO) start the trace via the JBTTraceTool.jar. Please refer to SAP note 1772411 for details
The trace will contain each BO client call to HANA ODBC/JDBC.
Tracing SAP Analysis Office
The Analysis Office frontend is usually started via a startup program, e.g. "C:\Program Files (x86)\SAP BusinessObjects\Office AddIn\BiOfficeLauncher.exe" /app XLS /lb 3. There is also a link which includes the startup parameter list under "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\SAP Business Intelligence\SAP BusinessObjects Analysis\Analysis for Microsoft Excel.lnk".
In order to get the SAP Client plug-in to trace the SAP Analysis Office frontend, it needs to be started by the SAP Client plug-in. Normally the “Assign”+”Launch” option should be able to start this wrapper from the SAP Client plug-in but it seems that this option does not work so far.
Therefore you can use a second option: the SAP Client plug-in has already a built-in list of Microsoft Office applications to start via the drop down selection and then directly “Launch” it. However this requires the Analysis Office Add-In to be loaded on startup. To enable this you have to change the Add-In load behavior in the Windows registry (e.g. for Excel). Change the key to HKEY_CURRENT_USER->SOFTWARE->Microsoft->Office->Addins->SapExcelAddin->LoadBehavior = 3.
Remember the old value to be able to reset it afterwards. This can be done via the Windows registry editor (run regedit). After that the SAP Client plug-in can be used to Launch Excel.
- Start plugin-starter-gui.exe
- Use ‘Assign’ button to select the Office program to be traced (e.g. Excel). You need to use the 'Assign' button first to make some parameter changes of some defaults for the traced protocols (http: wininet) which are not suitable for the SAP Analysis Office Add-in
- You need to select the executable location in the file system (.exe file not a .lnk file).
- Then ‘Launch’ the previously assigned executable. In the protocol selection pop-up select "Instrument HTTP protocol" and "Instrument RFC protocol" and change the setting for HTTP to winhttp (instead of wininet).
- Make sure SAP Analysis Office is loaded after launching the MS office program from the SAP Client Plugin.
- Name your Trace reasonably
- Navigate to the part in the application which you want to trace.Activate the trace via „Start Transaction“.
- After each navigation step (mouse click or hit enter key) name the step reasonably in „Executed Step Name“.
- Wait until your application is ready again and no further communication happens any more (indicated by no further changes in Requests+Responses).
- Usually the number of responses should match the number of requests at the end.
- Click „New Step“ if you want to trace also the next navigation step (go to 7) or „Stop Transaction“ if this was the last navigation step to be traced.
Please make sure you use the Client Plugin which matches the Office programs bit -width (32bit or 64bit) and the .net Version of the Add-In (2.0 or >= 4.0).
The matching SAP Client Plugin can then be downloaded from SAP note 1608231.
Note 1608231 attachment to be used | 32 Bit Office | 64 Bit Office |
---|---|---|
.net 2.0 addin | SAPClientPlugin.rar | SAPClientPluginX64.rar |
.net >= 4.0 addin | SAPClientPlugin_EXT.rar | SAPClientPluginX64_EXT.rar |
SAPUI5 / Fiori Tracing
If you run a new Fiori frontend it contains an integrated tracing capability. The following two scenarios for Fiori apps exist:
- Fiori / SAPUI5 based application running on XS engine in SAP HANA (no ABAP Gateway involved)
- Fiori / SAPUI5 based application running on ABAP Gateway calling XS odata services(1) or accessing HANA via ABAP SQL(2) (ABAP based applications)
In general tracing can be performed as described before using the SAP Client plug-in but alternatively also via a SAPUI5 embedded trace UI.
SAP Client plug-in vs. Embedded trace UI:
Capability | SAP Client Plug-in | SAPUI5 embedded trace UI |
---|---|---|
Readiness | - requires installation | + nothing to be installed on frontend |
Supported browsers | - IE, Firefox (limitations) | + browser independent, also available for mobile devices |
Flexibility | + also initial screen traceable, trace and steps can be named, additional OS level metrics are collected | - very first UI5 screen not traceable, trace and step names automatic, new step/end trace requires 3 sec of browser inactivity |
Usage:
- Start the SAPUI5 Diagnostics UI is available via the keyboard combination Ctrl + Alt + Shift + S
- With that UI the E2E trace section can be found under the section „Technical Information“ at the very end
- The E2E Trace can be started via the „Start“ button after selecting the desired Trace Level
- After enabling the trace you should not close the SAPUI5 Diagnostics UI but minimize it (because this UI provides the trace data within the XML output window and in scenarios without ABAP Stack you need to manually copy the client side trace data from this UI to Solution Manager)
- There is no option to name the trace or a trace step (this is done automatically following the naming convention: 'SAPUI5 window title' and steps consecutively like Step-1, Step-2, ...)
- After each UI step and 3 seconds of browser inactivity you get a pop-up to decide whether continuing the trace via „OK“ (will also create a new step) or finish the trace via „Cancel“
- After you finish the trace the SAPUI5 trace UI checks whether a send URL is configured (then the trace data is automatically sent to there). This will only work if the SAPUI5 page came from a SAP ABAP Gateway and the Gateway system was configured correctly in managed system setup within SAP Solution Managers.
- Otherwise you get a pop-up for manually entering a send URL – here you need to „Cancel“ and continue with Step 7
- Otherwise you can continue on Solution Manager side.
- After you cancelled the send dialog you get the client trace xml text showing in the corresponding text area within the SAPUI5 Diagnostics window.
- Copy the trace output (Ctrl+A) and save it to a local file with the name 'BusinessTransaction.xml'
- This file can then be uploaded into the E2E trace UI in Solution Manager
- When collection the service side trace data you need to ensure that all involved managed systems are selected in the E2E trace application and they are are connected to Solution Manager (managed system setup successfully performed). This would include all potentially involved ABAP systems (SAP Gateway and ABAP Application System)
Opening the Trace in SAP Solution Manager
Once you have recorded you trace you can open it in SAP Solution Manager.
Go to the 'Root Cause Analysis" workcenter and switch to 'End-to-End Analysis'
Select all systems that are potentially included in the the trace and open the 'Trace Analysis' tool.
SAP Solution Manager 7.1
If you are using SAP Solution Manager 7.1 please first open the trace in the classic view to collect the backend trace files.
Select or upload the trace and SAP Solution Manager will prompt you to download the server sides trace files.
In the trace analysis tool you can select the step you want to analyze.
Below the request summary will appear. Click on the server portion to open the Server Analysis.
On the tab Server-side tree table you find links to the collected traces.
You can jump into the Trace Viewer to check the HANA trace (HANA server traces are accessed via M_MERGED_TRACES view and displayed in E2E trace application in Solution Manager).
Or you can open Introscope Enterprise Manager for a more detailed call trace.