Skip to Content
Technical Articles
Author's profile photo Thomas Fery

SAP Analytics Cloud Performance Analysis Tool

Today I am excited and happy to announce you the new Performance Analysis Tool for SAP Analytics Cloud.


How is Frontend -, Network -, and Backend Time calculated?

  • Backend Time = Total Time of the Backend Request
  • Network Time = Time To First Bite – Backend Time
  • Frontend Time = Render Full – Time To First Bite

Is Business Warehouse Live Connection supported?

  • Yes, but we are currently having an issue with Charts. This issue will be fixed in 2023.08
    (QRC2) with the next update and with 2023.14.

Why do we need that?

Since performance analysis for SAP Analytics Cloud needed third party tools like the google chrome developer tools, expert knowledge and of course time. Now we collect the performance statistics for you and store them in an internal SAP Hana view. You don’t need to go through the network traffic, check request by request and map it to the widgets and backend systems. This is now done automatically.

When do I get it?

With Wave 2021.02 and 2021.Q1 QRC Release the Analysis Application called Performance Analysis Tool will be released.

Where can I get it?

It will be deployed per default into your system folder directory into the SAC Content folder. You don‘t need to deploy it from the Analytics Content Network. Everything will be available out of the box for your convenience. This system folder has already been introduced with Wave 2020.14 and 2020.Q3 QRC ( Please check SAP Analytics Cloud Backend Runtime Analysis and Statistics, SAP Analytics Cloud Performance Statistics and Analysis  and SAP Analytics Cloud Network Statistics )

The SAC Content already contains the following Analytic Models:

  • SAC_STATISTICS_MDS_QUERY_PERF (Backend Statistics)
  • SAC_USER_FRIENDLY_PERF_ACTION (Frontend Statistics)
  • SAC_PERFORMANCE_E2E (Network Statistics and now Single User Executions)

They aim to give you insights into Backend, Network and Frontend related Statistics.

This part of the Performance Content helps you to analyze a single Story or Analytic Application run. The Performance Analysis Tool is built on top of the Analytic Model SAC_PERFORMANCE_E2E which has already been deployed.


Navigation Path

Information: If you do not find all of the listed models above in the directory, this is nothing to worry about. It might be that they have already been deployed on your tenant earlier. In this case they stay in their current directory. Nevertheless they will always be updated always with the latest content.

How can I use it?

Once you run the Analytic Application and the Performance Analysis Tool starts you will see a search bar. This search bar has a default filter for the current day, but can be adjusted to your needs.

To further narrow the search you can also set User and Resource. Resource can either be a Story or an Analytic Application.


Search Bar

What’s in it?

Overview and Filter Bar

Once you enter the analysis part of the application you will see an overview of the Story or Analytic Application, you are about to analyse. But before we go into more detail of the single sections of this overview, let’s have a look at the top of the page. There is the option to go back to the start or selection screen where you can select another execution for analysis or change the filter criteria to update the selection. As it is case dependent whether you want to see the analysis in seconds or milliseconds we provide the opportunity to switch between the two formats at the top right corner of the page.


Go Back and ms Switch


Some of the widgets on the overview section can also be used to filter the tables and charts below on the same page. This overview can be divided into five sections.


Overview Section


The first of them are details of the user and opened resource. We have information on the user, the timestamp, the Story or Analytic Application and the session ID. The combination of resource ID and session ID is unique. Further we have the opportunity to open the investigated resource directly from the Performance Analysis Tool. This might be helpful to understand the design, structure and complexity.


User and Resource Information


Next to this section we have information of the single pages that were part of the workflow that we are analysing. For each page that has been used we see the startup time. This is the time from the initiation of the action like open story or go to page until the last widget on the page has been fully rendered. Hover over the bars shows action start time and action for the page. If a page has been visited n times it will appear n times like here Page 1 and Page 3.

Page Information

Note: The Widget can be used to filter the three tables and four charts below.


Third the Top 5 Widgets are listed. These widgets are resource wide across all visited pages. The times shown are the sum of the single processing times of the widget, the total processing time. This means if a widget has been loaded more than once, because a page has been visited multiple times or filter criteria have been changed, they sum up.


Top 5 Widgets


Note: The Widget can be used to filter the three tables and four charts below.


Next to the Top 5 Widgets we see all models that were actively used during the execution and their maximum runtime in the backend system. Only their single maximum value is shown here.


Models Maximum Backend Time

Hover over the models show the connection that is being used by the model.


Models Details

The last section in the Header is the the Runtime Distribution per Processing Layer. This section contains two widgets that allow you to compare the maximum times per processing layer with the median value of the respective layer.


Runtime per Processing Layer


Help and Information of each Widget

You might have noticed that each of the widgets has an information icon added. This icon pops up a short explanation for the widget and used measure.



Processing Information

We provide you three table views. The Runtime Distribution, the Page Load Time and the Widget Drilldown.

Runtime Distribution

The Runtime Distribution which can be seen in the picture below lists the Action Start Time, Action and Page. We decided to show the total processing time per per action. So please don’t confuse this total processing time with the end to end time of the action. These are the aggregated values for each widget that has been triggered by the specific action. Also the times per layer are aggregations over all widgets triggered by the action. It gives an idea of the actions total processing time and thus, impact per layer.


Table Views Overview


Page Load Time

The Page Load Time shows the true end to end time per action. It is structured similar to the Runtime Distribution but uses different measures and no aggregation. We show the total time per action. This is the elapsed time from initiating an action until the last widget on the page has been rendered. This total time can be split into page preparation and widget load time.


Page Load Time

The page preparation is the time from the action start timestamp until the first widget starts loading. The widget load time is the the time from the start of the first widget until the last widget has finished rendering. The sum of both is the total time or the end to end time.


Total Time, Page Preparation and Widget Load Time

To get an idea of the complexity of the action or page we show the number of widgets per action or page.


Number of Widgets

This view is rounded off with the maximum values for each processing layer.

This means on the one hand we see that in this case for Open Story on Page 1 one of our 17 widgets took 2.78s in the backend system, the same or another one took 0.29s in the network and the same or another one took 2,31s in the frontend.

On the other hand we can directly detect actions that had no backend interaction and have only been processed in SAP Analytics Cloud.


Maxima per Layer


Widget Drilldown and Filter Bar

The Widget Drilldown drills into information on single widget level per action, model or page. This is where the filter bar above the three views gets helpful. We see always our current filter state, which applies to all views and the charts that are below the views. The filter bar can be used to remove filters. They are set via the overview section or selections within the table views. In this example I set a filter on Page 1 and the Open Story action.


Widget Drilldown


We get now a complete list of all widgets that have been rendered on Page 1 for Open Story like widget name, widget type and end to end time per widget.

But there is even more information for each widget to analyse in the widget details.

Widget Details

Once an entry in the Widget Drilldown view has been selected, another filter on this widget is being set and widget specific details slide into the view.


Widget Details

These Widget Details contain information of the Model that is used by the selected widget, the connection that is used by the model, the runtime distribution for the widget and the full backend requests.


Widget Details 1


Time Series Charts

The last part of the Performance Analysis Tool are the time series charts. They allow you to compare the execution times of a single user to the user community. This can be done on page level as well as on widget level. The filter mechanism is the same as described in the Widget Drilldown and Filter Bar Chapter. There are two groups of each two time series charts. The charts on the left focus on median runtimes whereas the charts on the right visualise the distribution of the runtimes per layer.

Total Time per Date and Widget Time per Date

Once a filter on widget level has been applied, the charts measures and titles change form Median of Total Time and Total Time per Date to Widget Time per Date and Median Widget Time.


Total Time per Date


Widget Time per Date


Runtime Distribution per Date

The chart group on the right follows the same logic. Once a widget level filter has been applied, they date up and reflect the runtime distribution for the single widget. The titles and measures stay the same.


Runtime Split per Date – Action

Runtime Split per Date – Widget

What’s next?

  • Mapping of Widget ID to SAP BusinessWarehouse Backend Statistics
  • Introduction of Session ID and Step ID for SAP BusinessWarehouse in Widget Details
  • Further enhancements


Some of our Customers were already testing it, now we are happy to release it to the full customer community! Stay tuned for further enhancements and updates.


Latest innovations:

Wave 2021.09 – Analytic Applications show Widget Names instead of Widget IDs in the Widget Drilldown

Wave 2021.10 – Analytic Applications Scripting Analysis enhancements

  1. A new “Widget Type”, Script, will be introduced for Analytic Applications. The Widget Name will be the Script Name. This will make it easy to identify problematic scripts.
  2. A new Action, Run Script to analyse how many widgets have been “touched” by the script, their runtimes, as well as the runtime of the Script itself.


Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Aravindhan Tamilselvam
      Aravindhan Tamilselvam

      Thanks for sharing Thomas.,

      Excited to test SAC - Performance Statistics and Analysis Story..!!

      Awaiting to view Performance Analysis Tool - Analytic Application..!!!

      Author's profile photo Romain Brie
      Romain Brie

      Hi Thomas,

      Thanks for this nice article, gives us lot of insights on which reports to optimise. I see the already delivered Performance and analysis Statistics Story seems to be broken, "SAC_CALENDAR" dimension seems to be missing. does this has anything to do with the above article and will this be corrected soon?


      Author's profile photo Oleksandr Kovalenko
      Oleksandr Kovalenko

      Hi Romain,

      That sounds like a model update issue which we've been having recently. As a quick workafound, go to Browse -> Files -> System -> SAC Content as described in the beginning of the article. Open "SAC_STATISTICS_MDS_QUERY_PERF" model and click "Save Model". This should fix the problem.

      Best regards,


      Author's profile photo Muralikrishnan Ethiraj
      Muralikrishnan Ethiraj

      Thanks, Thomas. Very good insights on the Performance analysis and much valuable.

      Author's profile photo Andreas Kramer
      Andreas Kramer

      For some reason, the SAC content folder does not exist on a brand new SAC tenant (Version: 2021.5.1). Any thoughts on this?

      Author's profile photo Thomas Fery
      Thomas Fery
      Blog Post Author

      Hi Andreas Kramer ,

      did you make sure to search in the system folder directory? The content is deployed on every tenant.


      Navigation Path




      Author's profile photo Andreas Kramer
      Andreas Kramer

      Hi Thomas Fery ,


      sure 🙂



      I am the system owner on several systems. The only case, where I found the folder was on a QRC tenant.

      Author's profile photo Oleksandr Kovalenko
      Oleksandr Kovalenko

      Hi Andreas. Normally the content should be deployed upon creating a new tenant. Which system/tenant is that?

      Author's profile photo Madhu Sudhan Narapureddy
      Madhu Sudhan Narapureddy

      Hi Andreas, Any luck? i have admin rights to the system but i am not able to see system/sac content folder

      Author's profile photo Alexandru Negoescu
      Alexandru Negoescu

      Hi Thomas,


      Great post and really useful solution!

      I still have one big problem, I cannot  use it in Production Systems (SAC). It works perfectly fine in test/dev systems but in production, I cannot select any report for analysis dur to an error:

      Script execution failed for event "SearchResult_ListBox.onSelect"


      SearchResult_ListBox on Select

      I have checked the script is OK, no error there.

      Also, all the SAC Models are good, I can do reporting on them (I have activated again manually one by one).


      Any idea here?



      Author's profile photo Thomas Fery
      Thomas Fery
      Blog Post Author

      Hi Alexandru Negoescu,


      excuse me please for the late response. Do you still face the problem after re-saving the Model SAP_PERFORMANCE_E2E?


      Thank  you,


      Author's profile photo Alexandru Negoescu
      Alexandru Negoescu

      Hi Thomas Fery


      Thanks for your replay, there is no problem answering late.

      Yes, I have re-saved the model SAC_PERFORMANCE_E2E but still the problem is present (I have done it before writing this message).

      The only difference is the Description of the model SAC_PERFORMANCE_E2E (in production is called SAC_PERFORMANCE_E2E but in non-prod is called End-to-end Application Performance) => the big difference here is that the model SAC_PERFORMANCE_E2E in production was activated by me/created by me from HANA system for SAC calculation views around mid March 2020, before this model or stories were designed by SAP as standard). Since then I have used this model and several other for my reporting on SAC activities. I have never changed the structure of the model.

      I have compared the application in production system with the one in non-productive environment (which works) and there is no code difference or design.

      I have even copied the non-Productive and transport it into production and still the issues is there.


      I was planning to create a ticket for this because my users are asking for this application.

      Let me know if you have any idea about potential issues here.






      Author's profile photo Thomas Fery
      Thomas Fery
      Blog Post Author

      HI Alexandru Neogescu,

      yes, please create an incident for this issue. We have to investigate further on that.

      Thank you!

      Excuse me for inconveniences caused,


      Author's profile photo Alexandru Negoescu
      Alexandru Negoescu

      Hi Thomas


      Thanks for your replay and suggestions.

      Actually the issues was solved automatically after the version SAC 2021.6.2 was applied to our productive environment.


      This means that I haven't created a ticket anymore. 🙂


      Thanks a lot for your help!



      Author's profile photo Ysaline de Wouters
      Ysaline de Wouters

      Hi Thomas,

      I am wondering whether you could provide me with further information about underlying view of SAC_PERFORMANCE_E2E. In the model preferences I read it is built on HANA view HANA View


      Can this view be accessed from our systems? Is all performance related information stored in a SYS table?



      Author's profile photo Thomas Fery
      Thomas Fery
      Blog Post Author

      Hi Ysaline de Wouters,

      the only way to access the view is via the live Model SAC_PERFORMANCE_E2E.

      Thank you,


      Author's profile photo Lijuan Guan
      Lijuan Guan

      Dear Thomas,

      when i open the performance analysis tool, with the following error, could you pleas help here?

      'loading chunk 1045 failed'

      Author's profile photo Former Member
      Former Member

      What permissions /roles do users need to access the report?

      Author's profile photo Thomas Fery
      Thomas Fery
      Blog Post Author

      Hi Former Member,


      you need Admin rights to access the System Folder.




      Author's profile photo Mohd Fahad
      Mohd Fahad

      Thanks for Sharing Thomas. Great Job.. Very useful article

      Author's profile photo Christoph Baierl
      Christoph Baierl

      Hello Thomas,

      i just see some technical IDs instead of the widget name, what is the difference here?


      Widget Picture

      Author's profile photo Thomas Fery
      Thomas Fery
      Blog Post Author

      Hi Christoph Baierl,

      Is this Screenshot taken from the analysis of an Analytic Application or Story. There was a limitation with Analytic Applications that we were not able to show the Widget Name but only the ID instead. With 2021.Q3 QRC and Wave 2021.09 this will be fixed and we are able to show the Widget Names for Analytic Application Scenarios as well.




      Author's profile photo Lijuan Guan
      Lijuan Guan

      Hi Thomas,

      how can I recognize which widget ID stands for which chart?

      please help. thanks.


      Measures Widget Time
      Widget Widget Type
      979a7bbc2c144268a2ff324b9014e095 Chart 14.69




      Author's profile photo Martijn van Foeken
      Martijn van Foeken

      Hi Victoria,

      Is this from Analytic Application or a Story?

      Kind regards,

      Martijn van Foeken | Interdobs

      Author's profile photo Moritz Kelm
      Moritz Kelm

      Hi Victoria,

      you can use F12 Developer Tools in the story and select (first marker) the widget to find out the widget ID from source code.

      Author's profile photo Thomas Hechtel
      Thomas Hechtel

      Hi Thomas,

      thanks for the blog article and the tool.

      Is it possible that the SAC Content Folder isnt deployed to demo tenants (not trial)? Is it possible to delete the folder? If yes how to get it back?

      Thanks and best Regards


      Author's profile photo Oleksandr Kovalenko
      Oleksandr Kovalenko

      Hi Thomas,

      Answering your questions:

      • The SAC Content folder should be available on the demo tenants as well.
      • It is possible to delete it
      • If deleted it will be forcefully restored during the next system update

      Best regards,


      Author's profile photo Nimish Garg
      Nimish Garg

      very well explained blog...Thanks for sharing...looking forward to see more on this in future.

      Author's profile photo Paula Stanczyk
      Paula Stanczyk

      Hi Thomas,

      Great article with all details explained!

      I am using the BW Live Connection. Do you know what can be the reason I do not see "Connected Models" and "Backend Requests" in the Widget details (in my case for a table)? Does it only available for the Import Data Models?

      Author's profile photo k deshmukh
      k deshmukh

      Hi @Paula Stanczyk,


      I also observed the same for an analytical application dashboard created using live data connection on webi report. Please let me know if you were able to get answers to your questions.


      Author's profile photo Oleksandr Kovalenko
      Oleksandr Kovalenko

      Hi Paula,

      Unfortunately, currently for BW live connection, due to technical reasons, we cannot connect the end-to-end timings with its corresponding backend information. We have this task on our roadmap and will execute it as soon as possible with required priority.



      Author's profile photo Amritha R
      Amritha R

      Hi Thomas,


      Thanks for the details. But can you explain what is exactly is this maximum model backend time --- how can that be more than the page load time? how is it calculated. for example lets say mine is a live model based on cds views from s/4 hana

      Author's profile photo Thomas Fery
      Thomas Fery
      Blog Post Author

      Hi Amritha R,

      unfortunately we still have some minor limitations.

      I will update the blog once the missing information is complete.

      Excuse me please for the late reply.



      Author's profile photo Galin Manolov
      Galin Manolov

      Hi, I have the same question: max backend is 18,25 sec and page startup is 12,67.


      Author's profile photo Thomas Fery
      Thomas Fery
      Blog Post Author

      Hi Galin Manolov,

      sorry for the long delay. This issue has been fixed and will be shipped with 2022.24

      Thanks, Thomas

      Author's profile photo Amritha R
      Amritha R

      Hi Thomas,

      I am unable to view the network statistics -- for any story based on cds model from live s/4 hana.




      Author's profile photo Fred Wei
      Fred Wei


      The customer is asking a question:

      How long does the E2E Performance Analysis tool keep the log data? Or it will be kept for ever.

      We can't find that from the blog.

      The customer said he could not retrieve log data on his Tenant for 2021.April. (For periods before that, it is fine).

      Author's profile photo Lena Gessel
      Lena Gessel

      Hi Fred,

      the amount of records in E2E Performance Analysis tool does not depend on time, but on technical parameters of the table that keeps statistics. If the tenant is actively used, statistics is huge, performance statistics table will be overloaded sooner, than on tenants with less activities.

      Kind regards,

      Author's profile photo Yoav Yahav
      Yoav Yahav

      Thanks for this blog Thomas Fery

      Could you explain the calculation logic behind the performance impact?









      Author's profile photo Thomas Fery
      Thomas Fery
      Blog Post Author

      Hi Yoav Yahav , we will provide details on the Models measures soon and redirect from our FAQ here to the documentation.

      Author's profile photo Serhat Yalcin
      Serhat Yalcin

      Hi Thomas Fery,

      thanks a lot for all your effort, great blog!

      Is there a possibility to analyse Digital Boardroom performance directly? If not, is there a plan to include this functionality?

      Best regards,