Synthetic monitoring simulates user transactions by using behavioral scripts that emulate user flows and measure availability, functionality and performance for critical endpoints or across the entire user journey. Because this technique stages and directs an artificial user experience, it’s classified as active monitoring, whereas real user monitoring is considered passive monitoring. In practice, synthetic monitoring works like this: administrators (likely teams responsible for SLA uptime) define several checkpoints and select performance metrics. A robot client follows the predefined user journey through the app, simulating transactions that mimic human behavior, and sending information back on a page’s availability (did the URL respond?), functionality (did all the buttons work?), and performance (how fast were page resources loaded?). Typically, teams set up alerts to notify them of outages for critical service endpoints, which can trigger their incident response.
The information that synthetic monitoring collects can help answer a variety of questions, from basic uptime (is the website up?) to performance (how fast is the site right now?) and even ongoing code improvement (did our recent release improve user experience?).
Synthetic monitoring has several unique advantages, helping teams to:
- Identify and address issues before they impact users: Unlike real user monitoring, which requires human user interaction, synthetic monitoring can be employed 24/7, in low traffic, and in testing before pushing code live. This proactive approach gives teams the time to recognize, troubleshoot and resolve issues before users are even aware of them.
- Create performance baselines: Synthetic monitoring can help benchmark and improve page performance by measuring critical elements of user experience, such as how fast a page loads content, interactivity, visual stability, error count and trends in performance relative to previous builds, releases or competitors.
- Monitor user transactions and business processes: With synthetic monitoring, teams can emulate and monitor the web performance of searches, form-fills, logins and other transactions from different geographies. Comparing performance data from these processes across geographies can indicate where and how to make improvements.
- Test new features: Teams can also test new app features before they go live to see how they respond under load and if any of the changes impact third-party application programming interfaces (APIs).
- Reduce mean time to repair (MTTR): MTTR represents the average time it takes to repair and restore service to functionality. The lower the MTTR for an affected service, the less likely it is to negatively impact the business. Because synthetic monitoring enables teams to get ahead of issues before they affect the user — and alerts from synthetic monitors often trigger larger incident response coordination — it’s an effective tool for reducing MTTR.
While synthetic monitoring is a useful method for understanding how users experience a website or app, it’s impossible to simulate every real-world scenario. Therefore, real user monitoring is essential to understanding the experience of your web application for all users in the field.