Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
thomas_fery
Advisor
Advisor

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





FAQ:


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.


Information


 

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.



 

41 Comments
rtsaravi
Explorer
Thanks for sharing Thomas.,

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

Awaiting to view Performance Analysis Tool - Analytic Application..!!!
0 Kudos
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?

Best,
rpmcmurphy
Explorer
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,

Oleksandr
hai_murali_here
Advisor
Advisor
Thanks, Thomas. Very good insights on the Performance analysis and much valuable.
Andreas_Kramer
Explorer
0 Kudos
For some reason, the SAC content folder does not exist on a brand new SAC tenant (Version: 2021.5.1). Any thoughts on this?
thomas_fery
Advisor
Advisor
Hi andreas_kramer_xx ,

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


Navigation Path


 

Thanks,

Thomas
Andreas_Kramer
Explorer
0 Kudos
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.
rpmcmurphy
Explorer
0 Kudos
Hi Andreas. Normally the content should be deployed upon creating a new tenant. Which system/tenant is that?
0 Kudos
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?

Thanks

Alex
thomas_fery
Advisor
Advisor
0 Kudos

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,

Thomas

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.

 

Thanks

Alex

 

 
thomas_fery
Advisor
Advisor
HI anegoescu

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

Thank you!

Excuse me for inconveniences caused,

Thomas
ydwouter
Explorer
0 Kudos
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
t.A.sap.fpa.services.userFriendlyPerfLog::SAC_PERFORMANCE_E2E.

 

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

Thanks,

Ysaline
thomas_fery
Advisor
Advisor
Hi ydwouter,

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

Thank you,

Thomas
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!

Alex

 
victoria_guan
Explorer
0 Kudos
Dear Thomas,

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

'loading chunk 1045 failed'
former_member716001
Discoverer
Hi Andreas, Any luck? i have admin rights to the system but i am not able to see system/sac content folder
former_member184709
Participant
0 Kudos
What permissions /roles do users need to access the report?
former_member197738
Participant
0 Kudos
Thanks for Sharing Thomas. Great Job.. Very useful article
thomas_fery
Advisor
Advisor
Hi derek.barrett,

 

you need Admin rights to access the System Folder.

 

Thanks,

Thomas
0 Kudos
Hello Thomas,

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


Widget Picture

thomas_fery
Advisor
Advisor
Hi christoph.baierl.audi

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.

Thanks,

Regards,

Thomas
victoria_guan
Explorer
0 Kudos
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

 

 

 
mfoeken
Active Contributor
0 Kudos
Hi Victoria,

Is this from Analytic Application or a Story?

Kind regards,

Martijn van Foeken | Interdobs
moritz_kelm
Participant
0 Kudos
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.

thomas_hechtel
Explorer
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

Thomas
very well explained blog...Thanks for sharing...looking forward to see more on this in future.
rpmcmurphy
Explorer
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,

Oleksandr

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?


deshmukh
Participant
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.

Thanks.
rpmcmurphy
Explorer
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.

Regards,

Oleksandr
amrithar30
Discoverer
0 Kudos
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
amrithar30
Discoverer
0 Kudos
Hi Thomas,

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

 

Thanks

Amritha
Hi,Thomas

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).
lenagessel
Explorer
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,
Lena
thomas_fery
Advisor
Advisor
0 Kudos
Hi amrithar30

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.

Thanks,

Thomas
Galin_Manolov
Participant
0 Kudos

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

 

thomas_fery
Advisor
Advisor
Hi galinm,

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

Thanks, Thomas
yoavyahav2
Participant

Thanks for this blog thomas.fery


Could you explain the calculation logic behind the performance impact?

 



 

 

 

 

 

regards

Yoav
thomas_fery
Advisor
Advisor
Hi analytics_planning116 , we will provide details on the Models measures soon and redirect from our FAQ here to the documentation.
serhat_yalcin
Member
0 Kudos
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,

Serhat