Stackify is now BMC. Read theBlog

What Is Real User Monitoring? How It Works, Examples, Best Practices, and More

By: Alexandra
  |  January 29, 2020
What Is Real User Monitoring? How It Works, Examples, Best Practices, and More

Real User Monitoring is a type of performance monitoring that captures and analyzes each transaction by users of a website or application. It’s also known as real user measurement, real user metrics, end-user experience monitoring, or simply RUM. It’s used to gauge user experience, including key metrics like load time and transaction paths, and it’s an important component of application performance management (APM).

Let’s take a closer look at RUM, how it differs from other types of monitoring and some best practices for success.

Real User Monitoring vs. Synthetic Monitoring

Real User Monitoring is a form of passive web monitoring. We say “passive” because it relies on services that constantly observe the system in the background, tracking availability, functionality, and responsiveness.

By contrast, Synthetic Monitoring is active web monitoring. In synthetic monitoring, behavioral scripts are deployed in a browser to simulate the path an end-user takes through a website.

In addition, this active monitoring permits webmasters to test the application before launch. That makes it an essential tool for sites with a high volume of traffic. Unlike synthetic monitoring, RUM never rests. It collects data from each user using every browser across each request.

How It Works

RUM technology collects a website or app’s performance measures straight from the browser of the end user. A small amount of JavaScript is embedded in each page. This script then collects data from each user as he or she explores the page, and transfers that data back for analysis.

Data visualizations are particularly useful. Because RUM collects data points from such a high volume of users over a wide array of metrics, visualizations such as bar, chart, and area graphs make these large volumes of data more easily digestible – meaning it’s easier to glean actionable insights from your data.

Real User Monitoring Browser Page Load Time
Real User Monitoring

Examples of RUM

In the real world, it’s used to monitor applications and websites in order to surface problems other testing methods can’t unveil. Some examples include:

  • Constant monitoring of a blog in the background to see when and where page load times increase. A developer might notice that during prime time, traffic spikes cause an increase in timeouts, resulting in frustrated customers and lower Google rankings.
  • An end-user portal like a bank software system may use it to spot intermittent issues, like login failures that only occur under specific, rare conditions.
  • A Tech Lead can use Real-User Monitoring to quickly assess the health of their application.
  • An app developer may use it to highlight failures in different platforms that don’t show up during pre-deployment testing.
  • A development team can use RUM to troubleshoot problems caused by a deployment, narrowing down the surface search are by employing filters.
  • Product managers without too much coding expertise can use dashboards provided by RUM tools in order to detect when high-priority pages are performing poorly, and then allocates resources in an efficient way to solve the problem.

Basic Steps in Real User Monitoring

RUM examines the ease of user interaction on the cloud, mobile, or web-based applications. It then produces a performance report that can be used to troubleshoot and fix identified infrastructure or user issues.

It allows the capturing of live sessions and monitoring of user experience across several tiers. With it, we can monitor which pages the customer visited, examine response times, and see when and where certain pages malfunctioned.

  • Data capture. It captures details about requests for pages, JSON, and other resources from the browser to web servers, even when the requested content is hosted on other sites.
  • Sessionization. The captured data are re-gathered into a record containing pages, components, and timing information for each visit.
  • Problem Detection. Any unusual behavior such as slow response times, system problems, web navigation errors, and other malfunctions are analyzed for different pages, objects, and visits.
  • Individual Visit Reporting. The captured data are used to recreate the individual visits. With some applications, we can see exactly what the user saw. With others, we see a summary of the data.
  • Reporting and Segmentation. Aggregated data can be used to identify page availability and performance across different browsers and user segments.
  • Alerting. The system activates an alert mechanism whenever a serious issue is spotted.

Benefits of RUM

RUM can help identify how page visitors are using a site or app. It also provides page metrics such as load time for analysis of a page, objects and even individual visits.

  • Measure service level targets easily. It offers real-world measurement of key targets by tracking actual visits and delivering top-level data on actual use cases.
  • Easily identify problems and better prioritize issues. It can replay user sessions and track transaction paths to surface hidden problems.
  • Determine hitches at the network and page level. Problems at the lower levels of a website can hide like needles in a haystack. It can spotlight these problems even when they’re intermittent in nature or based on rare conditions.

Limitations of Real User Monitoring

For all its benefits, RUM does have several limitations. Combining the process with synthetic monitoring fills the gaps nicely.

  • Lack of benchmarking. RUM is unable to examine your competitor’s websites. That means benchmarking your site’s performance against others is difficult.
  • Effectiveness in pre-production settings is limited. It’s not that RUM doesn’t work in pre-production settings (it works just fine); most customers simply don’t have a lot of traffic in those settings.
  • Too much data. Some users complain that sifting through the sheer volume of data provided can be daunting, even for some of the better-prepackaged tools on the market.

Best Practices for RUM

There are several best practices that can help you get the most out of RUM including:

  • Assess the Current Speed of the Website. Faster websites lead to higher customer engagement, so paying attention to load time data is key.
  • Identify and Track Specific Objectives. Doing so enables you to align those objectives with business goals. For example, we can set and track performance to a target like “increase conversion rate from 10% to 15%.”
  • Improve Mobile Testing Strategy. Development and testing challenges continue to arise as native mobile app use spreads. Use RUM to gain new visibility into native mobile apps.
  • Relate Performance to the Business. Not a disembodied tool, real user monitoring should start with business goals, then flow down to how well our current systems meet those targets. It is first and foremost a dashboard to gauge our progress.

Real User Monitoring Tools

There are a variety of tools available that support RUM. We compare 18 different APM tools in this post, some of which offer real user monitoring capabilities.

Stackify’s application performance management solution, Retrace, provides real user monitoring, as well as in-depth metrics to make it easy for you to determine why your app is having performance issues, down to which web requests are happening most often and which requests take the most amount of time. And with its advanced reporting features, you can review the performance of every individual request – not just the top five – along with robust log management capabilities, customizable method level profiling, comprehensive error monitoring, integrated log searching, and much more.

Real-User Monitoring: A Promising Future

Today’s post was all about Real User Monitoring, or RUM.

We’ve defined this technique, explained how it works and mentioned some typical examples. Also, we’ve covered the basic steps of RUM, its main benefits and limitations. Finally, we’ve listed some best practices that can help you and your organization reap all the benefits that RUM can provide, and wrapped-up by mentioning RUM tools you can checkout, providing lists to do so.

So, do we have a verdict about RUM? Should your organization adopt it?

Let’s start by saying that each organization is unique when it comes to its attributes, history, and needs. So, despite Real-User Monitoring being an incredibly valuable resource, it might not be the best fit for your organization. There might be scenarios where most simpler alternatives are enough.

Remember that before committing to a significant investment, of any type, it’s crucial to weigh the benefits of said investment against its costs and decide whether it fits into the overall business objectives of the organization.

That being said, it’s clear to us that Real-User Monitoring is the “winner” in the long run. Don’t get me wrong: as we’ve mentioned, Synthetic Monitoring is essential for high-traffic websites, while also being immensely valuable for testing the application before it hits production.

We live in an era that’s increasingly mobile, and always online. Technology changes in the blink of an eye. In such a scenario, companies have to move fast and respond to events as quick as possible if they want to survive and thrive. But you can’t answer to an event you’re not aware of, and that’s exactly where techniques such as RUM come in useful.

The capacity to monitor users in real-time is—and will continue to be—an essential tool in the toolbelt of any organization.

Improve Your Code with Retrace APM

Stackify's APM tools are used by thousands of .NET, Java, PHP, Node.js, Python, & Ruby developers all over the world.
Explore Retrace's product features to learn more.

Learn More

Want to contribute to the Stackify blog?

If you would like to be a guest contributor to the Stackify blog please reach out to [email protected]