What Is Real User Monitoring (RUM)? Examples and Tutorials
In this article, you'll learn the basics of the RUM performance monitoring method, and how you can use the data captured to increase performance.
Join the DZone community and get the full member experience.
Join For FreeReal 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.
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.
- An app developer may use it to highlight failures in different platforms that don’t show up during pre-deployment testing.
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.
Published at DZone with permission of Angela Stringfellow, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.
Comments