What is real user monitoring (RUM)?
Real user monitoring (RUM) is a technology used by developers and network operators to gain real-world observability into web performance and service availability.
With RUM, visitors to websites and users of online application services are monitored in a passive approach that doesn't require the user to do anything other than what they normally do on a site. RUM observes what a user is doing to provide performance metrics and identify any potential errors.
RUM is commonly used by content delivery networks to ensure that content is being delivered as expected to end users with the right level of performance and least amount of latency. RUM is also used by software as a service (SaaS) providers, as well as website and application developers, to validate the expected behavior of an application with real users.
While RUM can be a standalone technology, it is also often part of application performance monitoring (APM) platforms that include multiple tools to measure the performance of an application. Other terms that can sometimes be used to detail the same capabilities as RUM include end-user experience monitoring, real-user measurement and real-user metrics.
This article is part of
How does real user monitoring work?
Real user monitoring works by using different techniques to gain visibility into user activities.
With data capture in place, the next step for a RUM technology is to assemble all data from a given real user into a user session. The session information provides a timeline of events that indicates when a page was accessed and how long it took to load. Session information can also show how a real user moves from one page to another to help developers understand user experience (UX) with a given site or service.
Putting it all together, RUM tools also assemble the captured user session information into accessible visualizations. This includes dashboards and reports that make the information useful and help improve UX and website performance.
Real user monitoring vs. synthetic monitoring
Real user monitoring requires real users and a live production service to work. The promise of real user monitoring is that it helps developers -- and the organizations that employ them -- gain visibility into the real-world behavior and performance attributes of a site or service.
Synthetic monitoring, in contrast, does not use real user data. The way synthetic monitoring works is that user activity and behavior are simulated with synthetic data. The simulated data is intended to represent how a real user might behave and how a site should react in the real world.
Real user monitoring is an effective and useful tool for live production sites, where it is possible to capture the network and user data required to derive insights. Synthetic monitoring is useful in development and test scenarios, as well as situations where it isn't possible to reliably capture real user data in a production deployment.
Benefits of RUM
Real user monitoring has several benefits for organizations that use the technology to support production services, including the following:
- Availability. RUM can be configured to get metrics on service availability in different regions and with different web browsers.
- Performance. RUM can help developers and operators visualize performance metrics for webpages, user clicks and network activity.
- Session tracking. RUM tools can help businesses better understand UX through a website, with the ability to report on how a user moves through a site during a browsing session.
- Anomaly and error detection. Analysis of RUM data can help developers identify anomalies and potential errors that need to be corrected.
- Improved testing for new features. As new features are deployed, RUM can help operators quickly see the real-world experience of users interacting with a new capability.
Limitations of RUM
RUM can be a useful capability, but it does have limitations -- which is why it is often combined alongside synthetic monitoring to help better understand a broad range of usage scenarios. Some of its limitations are the following:
- Only works in production. RUM is not for development and preproduction environments that aren't yet generally available.
- Requires a volume of real users. RUM isn't effective for deployments that don't yet have any real users -- or high enough volumes -- to generate any kind of real trend or insight data.
- Lack of server visibility. RUM tends to look just at the user side of performance and doesn't directly provide visibility into server performance. That's why RUM is often part of APM.
Examples of RUM
RUM can be used to monitor any number of user actions on a website. Some example actions that RUM can be used to help monitor are the following:
- Page load times. Visibility into how fast a page loads for a user -- and perhaps, more importantly, understanding how different parts of the application are loading.
- Latency from different locations. The ability to determine performance from different geographic locations is an example for how RUM is commonly used.
- Browser compatibility and performance. Different browsers behave differently, and being able to monitor UX across desktops and mobile browsers is a common use case for RUM.
- User path tracking. For marketing and sales teams looking to help improve user conversion from browser to buyer, the ability to the track the user path is important.
Real user monitoring best practices
To get the most out of a RUM technology deployment, there are several best practices that organizations should consider, including the following:
- Outline goals and strategy. RUM has many benefits, but it won't be successful unless the organization has a strategy for how and where it can be used to track users and improve the overall experience.
- Identify key performance indicators (KPIs). A RUM tool can provide different metrics on usability and performance. It's important for organizations to identify what metrics are the most important to emphasize and track. KPIs should also align with business goals.
- Integrate with DevOps processes. The ability to capture relevant information about user activity requires code to be injected into an application. Having a plan to properly integrate RUM with DevOps processes to make that possible is key.
- Make sure it's working. It's a good idea to periodically validate that the code used to capture RUM metrics is working as expected and that all the required data is properly coming into the monitoring platform.
- Take action on RUM data. It's important to act on the data collected. Organizations should take whatever actions are necessary to improve UX based on the data.
Real user monitoring tools
There are many vendors and online services that provide real user monitoring tools. The following are some of the most common and popular tools:
Future of RUM
In recent years, many real user monitoring tools have become cloud-based and available in a SaaS model.
With SaaS exists the potential for better integration into other cloud services for data analytics, providing even more insights into the trends that RUM data provides. With the increasing development of machine learning and AI technologies, it's also likely that the gap between synthetic monitoring and RUM will narrow with hybrid approaches.
What is clear as well is that the need and demand for RUM tools will not abate in the future. Applications and websites in the modern world are built with a series of microservices that rely on multiple components coming from different locations, which adds complexity and potential performance risks.