View Script Performance in a Popup

In SAP Analytics Cloud, analytics designer, at runtime you can view the performance of scripts used in your analytic application in a swim lane diagram that comes up as a popup.

Open Script Performance Popup

Procedure

  1. To enable the script performance popup, do either of the following:
    • At runtime, enter the parameter APP_PERFORMANCE_LOGGING=true in the application URL.

      Tip

      Enter the parameter in front of the # character in the URL and precede the parameter with a question mark ?.

    • From the design time toolbar, select Start of the navigation path(Performance Optimization) Next navigation step Analyze Script Performance in RuntimeEnd of the navigation path.

      The application will be run in a new tab, with the parameter added to the URL.

  2. When the application is fully loaded, press Ctrl+Shift+A or Ctrl+Shift+Z.

Analyze Script Performance

In the script performance popup, the performance results are displayed in a swim lane diagram where each script event is represented as a blue lane. The events are numbered according to the running sequence. As the scale is the same for all events, you can immediately identify the long running events.

From tooltip you can see the exact running duration of an event.

If there are some performance relevant events during the script execution, which can be ideally optimized by you as an application designer, they are displayed below the triggering event as separate red swim lanes with the same scale.

There are currently two cases that are marked as red:
  • Waiting for [widget name] to be loaded in background means that a script tries to access a widget that is not loaded at the particular point in time. The scripts are in waiting position until the widget is loaded in the background. This can only be the case if background loading for widgets is used. To avoid the long waiting time for a widget, you can do one of the following:
    • Use the widget at a later point in time.

    • Set the widget to Always initialize on startup in the Styling panel.

  • Fetch description for member [member ID] from dimension [dimension ID] means that fetching description from the backend system for the member ID is necessary because only the member ID is used in setDimensionFilter API. To avoid fetching description, you can use a MemberInfo object such as {id:"some_id", description:"Some Description"} for filtering instead of only the member ID string.

To have a clearer view you can hide some measurements by selecting the lanes. To refresh and show all measurements again, select Show All.