Synthetic Monitoring and Real-User Monitoring: What’s the Best Approach

Bitbar, the mobile devops company. Logo, large

As you may know, we have been working on Bitbar Monitoring for couple of months. The beta version is available for application and will be soon accessible for all of you. At the same time, we are running a survey regarding our new product and how application performance monitoring is handled in your company.

In the past month, 91 participants have contributed to the development of Bitbar Monitoring by filling out the poll and giving their comments. We have taken some great tips and ideas into consideration and now are making these as features in the new product. If you’d like to help us build a better monitoring product that can actually benefit you in the future, fill out the survey here and leave your comments. We will share the results of the survey when the beta version of the product is available.

In the survey, there is a question – ‘Do you currently use Real User Monitoring to trace customer issues?’ Up to now, approximately 80% of the responders don’t have RUM implemented for monitoring the performance of their app or website. Though we didn’t catch the reason of that, let’s take a look at the differences between synthetic monitoring and real-user monitoring.


Synthetic Monitoring or Real-User Monitoring

Before we look into the differences between two types of monitoring, let’s review the definition of both.

Synthetic Monitoring, a.k.a proactive monitoring, simulates the real user interactions with your mobile apps and real user behavior on your websites to periodically check the performance of your mobile apps and websites and to catch the real issues before your users do.

Real-User Monitoring, a.k.a passive monitoring, helps you constantly track the actual customer experience they are having with your mobile apps or websites in real-time and determine if your users/customers are served in actual service-level quality.

Be the first to know if your mobile app or website is working

  • If your mobile applications fails to go through the transaction in the midnight, how will you know?
  • If your application is working well in your home country or home city but not in other geolocations, how will you know?
  • If you have a new mobile application/website or an upgrade, how will you know if it would be available in different countries before it goes live?

Well, synthetic monitoring is the answer to these. Synthetic monitoring helps you select the preferred locations to test the availability and performance of your mobile application or websites. It ensures that the transactions perform properly at any time when tested at a regular interval. With synthetic monitoring, you will be able to release any new products or releases with full confidence.

Conversely, real-time monitoring can’t address these issues and deliver the same value as synthetic monitoring in this scenario. At 3am of the day, no one is on your website and no real-time data can be captured to determine if your website or service is accessible. And it’s mostly like a shot in the dark without testing the performance of your new products before they hit the market.

Data Reliability

Synthetic monitoring and real-user monitoring have both pros and cons on the reliability of the data captured.

As it says, synthetic monitoring stimulates the user behavior with the help of test automation and test scripts. It assures if the mobile app or website is available at the moment, but the captured data cannot reflect real end-user experience in real world. On the contrary, the real-user monitoring does provide a piece of actual data generated by a real visitor or user to your mobile app or website. Overall synthetic monitoring lacks the diversity of the data collected in the real world: geolocations, user network conditions, hardware, etc.

Data Usability

On the other hand, synthetic monitoring provides more useful insights than RUM, just because synthetics don’t track real user sessions. The script used for synthetic monitoring is executing a predefined set of steps at a regular interval from a known location/city. The performance of your mobile apps or websites is predictable.

Though RUM can provide your enormous actual data from your end-users, lots of noises will be generated as well that it makes hard to analyze the data and pinpoint the real issues. In that regard, data provided by synthetic monitoring is more useful for altering that very noisy data collected by RUM.

A better approach

Looking at synthetic monitoring and real-user monitoring, either of them has its advantages. Each seems to be superior in certain aspects of performance monitoring. A traditional way is to have them both applied in your mobile devops strategy.

In short,

  • Synthetic monitoring is best to be used to check if your service is available at a regular interval to prevent a potential and risky service downtime.
  • Real-user monitoring is best to check the real end-user experience and user behavior when they are engaging with your mobile app or surfing your mobile website.

That being said, synthetic monitoring should become a must in your daily mobile devops strategy, if you had to or could only incorporate one of them. Due to its nature, you can prevent a huge loss of annual revenue for your business if your synthetic monitoring system is properly setup and configured to get alerted of a potential service downtime.

Want to get alerted with the progress of Bitbar Monitoring? Sign up for beta version and stay tuned for the next generation synthetic monitoring for mobile app and website.

The Must-Test Global Devices for Mobile Device Testing

Get a sheet of the most popular global smartphones and learn what devices every app developer should test against and verify the compatibility.