SAP Cloud ALM Synthetic User Monitoring is a 24/7 monitoring solution to detect performance and availability issues of web applications from a client-side perspective.
With Synthetic User Monitoring (SUM), you have the ability to define scenarios based on common user usage of your own or third-party web applications. This means you can simulate user interactions and test the performance and availability of your applications from a client-side perspective. One of the key features of Synthetic User Monitoring is the ability to choose a specific web browser to execute these scenarios. This allows you to accurately measure browser timings, such as UI rendering time, and gain insights into the user experience. Furthermore, Synthetic User Monitoring provides you with 24/7 monitoring of all your critical applications. You can fine-tune the monitoring frequency based on your specific needs, ensuring that you have real-time visibility into the performance and availability of your applications.
The graphic below provides a high-level overview of Synthetic User Monitoring:

The monitoring process includes recording metrics from different measurement locations and networks. This allows you to gather data from various sources and get a comprehensive view of your application's performance. In the event of an availability or performance issue, Synthetic User Monitoring can emit an event through Intelligent Event Processing. This early detection system enables you to identify and resolve problems before they become noticeable to your users. To help you keep track of scenario executions, you can check the immediate and time range-based statuses of these executions. This gives you a quick overview of the current state of your applications.
For a more detailed analysis, Synthetic User Monitoring provides a centralized visualization of all scenario executions. You can select a specific time range and easily compare the performance and availability of your applications over time. If you need to export execution statistics for further analysis, Synthetic User Monitoring offers an analytics API (Application Programming Interface). This allows you to extract data and integrate it into your existing analytics systems. Additionally, you can drill down into the details of each scenario execution, even down to the specific step that created an error. This level of granularity helps you pinpoint issues and troubleshoot them effectively. Finally, Synthetic User Monitoring allows you to compare metrics over time. By re-executing the same scenarios, you can monitor the evolution of performance and availability relative to a particular location. This helps you identify trends and make informed decisions to optimize your applications.
Synthetic User Monitoring simulates a user who accesses the application to monitor. To achieve this:
- You define the scenarios, which represent sequences of actions to perform in the browser.
- You define the runners, which are installed in the measurement locations.
- Synthetic User Monitoring regularly executes the scenarios on the runners. From the executions, Synthetic User Monitoring determines the monitored application availability and performance.
Synthetic User Monitoring – How Does it Work?
Monitoring is based on annotated Selenium IDE scripts, which is a powerful open source tool that can be used to support most web applications. By leveraging Selenium IDE, developers can create scripts that mimic user interactions on a website. These scripts can then be annotated with monitoring instructions to record important metrics during execution. In addition to monitoring scripts, Synthetic User Monitoring provides a way to regularly execute scenarios on remote runners and record metrics. These runners are compatible with Selenium's remote WebDriver infrastructures, following the W3C standard. The runners act as virtual browsers, executing the scenario actions just like a real user would.
The following flowchart illustrates how this works:

During execution, availability and performance metrics are recorded and stored centrally. This allows for easy access and analysis of the collected data. The monitoring UI provides a comprehensive view of all scenario information, making it easy to track the performance and availability of web applications. Overall, monitoring based on annotated Selenium IDE scripts and Synthetic User Monitoring provide a robust solution for monitoring web applications. By simulating user interactions and recording important metrics, developers and system administrators can gain valuable insights into the performance and availability of their web applications.
Synthetic User Monitoring – Dynamic Thresholds
Dynamic thresholds in Synthetic User Monitoring are used to evaluate the availability and performance of a services/system with the help of an algorithm enables by Artificial Intelligence (AI).
The following graphic illustrates the concept of Dynamic Thresholds:

In terms of performance evaluation, dynamic thresholds are computed automatically based on historical executions of a scenario. The execution duration of the scenario is compared against these dynamic thresholds. The historical executions serve as a learning window, allowing to predict future durations and determine thresholds for the next period of time. During subsequent executions, if the execution duration exceeds the thresholds, it is considered a performance issue. The purpose of dynamic thresholds is to detect abnormal durations that deviate from the usual duration, indicating a performance problem.