rum-use-cases

4 RUM Use Cases You can Deploy Today

Real User Monitoring, or RUM, is about measuring the user experience.

Not what the user is doing, but what is happening to the user. How is your server performing when the user is making a request? This hidden metric is part of the user’s overall motivation. After all, we all know the frustration of a slow moving website.

The first place most of us encounter RUM is using Google Analytics. It tracks where a user is going on your website and looks at key performance indicators such as time spent on page and overall pageviews. It’s useful for understanding where your site needs improvement from a content and marketing standpoint, and for insights into why users do what they do.

Synthetic monitoring is very good at telling you whether something is working, but it doesn’t tell you how well it’s working. RUM is like glancing over the user’s shoulder as he or she browses your application.

RUM-location-map

Learn more about your users around the globe with RUM checks

Real User Monitoring should capture the performance of your site during the user’s session. It’s not looking at individual visits, it captures statistical data from actual sessions. The result for high-traffic websites can be very eye opening, with data broken down by browser, location, and more.

RUM checks provide a different kind of reassurance. Your website is not only working, it’s working well and it’s handling the user’s requests in a timely manner. Once you’ve set a baseline, RUM can become a valuable tool you and your team will refer to repeatedly as you develop and expand your operations.

Let’s set the foundations today, and look at some use cases that anyone can adopt.

Table of Contents
  1. Getting Started with RUM
  2. RUM Use Case 1: Testing General Performance
  3. RUM Use Case 2: Analyze Mobile Performance
  4. RUM Use Case 3: New Feature Deployment
  5. RUM Use Case 4: RUM and Synthetic Monitoring
  6. Incorporating Real User Monitoring Now

Getting Started with RUM

First, create a RUM check with your domain name. The default Max Load Time value is 10, and we recommend keeping it at or above that line until you have established your site’s baseline performance metrics.

Next, we recommend setting URL Patterns for your RUM check. Patterns are groupings of URLs that you want to monitor for more data. Unmatched URLs get lumped into a pile of RUM data and aren’t very useful. Specifying the URL patterns you want to track collects data with purpose.

You might also configure some escalations to ensure that if the URL is experiencing high load times, your best people are alerted to it and the outage escalates alongside its duration.

Looking for a RUM tool with no coding required? Check out Uptime.com for free for 21 days, no credit card required. 

RUM Use Case 1: Testing General Performance

The first use case for RUM is the most obvious one, a general outlook on performance. Using the Average Load Time breakdown, you can glean some important statistics that can inform future changes.

Pay special attention to the Connection and Server related statistics. You can deal with drops in performance here with load balance, and various server optimization strategies. Can you serve content closer to the end user? RUM can play an important role in the testing you perform to determine the best location to deliver your application and services.

rum-screenshot

One of the great benefits to using RUM is quantifying how these values perform using real user data, not testing. Alerts set to a lower latency allow you some insight into delays, with data on how long they last under stress.

What the User Sees

Transfer, DOM and Assets/Onload focus on visible elements. When we discuss prioritizing traffic, these are the elements you want.

Optimizing here means optimizing javascript and other elements, to ensure the user sees what you want as soon as possible. It might also mean adopting some elements of the RAIL model, such as incorporating visual cues that inform the user when there are unavoidable delays.

Authentication is a good example, where a database might add some additional delay that a loading icon can assist in conveying. Drop the icon and you end up with a support query asking why the login page failed, followed by a request to close the ticket because the page loaded after all.

google-rail

Source: Google RAIL

Google would recommend most instantaneous tasks take place in less than 100 ms, with more complex tasks (such as changing pages) clocking in at around 1,000 ms. More than that and the user begins to lose focus.

RUM tells you how close you are to those thresholds.

RUM Use Case 2: Analyze Mobile Performance

Given mobile traffic is growing exponentially, how is your site performing? Your site might be responsive to mobile, but is it fast?

First, let’s not be too hard on ourselves. Mobile visitors might just be fickle people. Rocket Fuel says that it’s common for sites to see mobile bounce rates 10-20% higher than their desktop counterparts. That said, it’s critical to optimize for mobile since your chances of losing them are that much higher.

RUM-use-case-mobile

RUM provides a clear comparison of performance of desktop versus Mobile, and a lot of the same tips you used for desktop apply to mobile. Prioritizing what loads where, using assets that are lighter on bandwidth, and generally optimizing your code are all best practices.

RUM Use Case 3: New Feature Deployment

This use case is why you should already have RUM running on your website.

How do you know which change from the past 6 months most impacted the end user experience?

How do you know which of your new features gets the most use, and whether the user actually likes the experience?

If you don’t have a straight answer to these questions, enable RUM with URL paths now.

Here’s a simple latency audit that will prove RUM’s value:

  1. Compare values right now: Record Render and Server values with current infrastructure
  2. Monthly Reporting: Changes happen every day. How is performance impacted?
  3. Tool Usage: How does the tool actually perform in a production environment?

RUM is like a peek over the user’s shoulder, so it’s especially useful when you want to release fully-tested new features out into the wild. You learn not only whether they are getting used, but how they perform. You can see how the site load is impacted overall with each deployment, and use URL paths to follow the user through the application and learn more about how it performs.

RUM Use Case 4: RUM and Synthetic Monitoring

RUM and transaction checks are an unstoppable force. Together, you can verify that a specific chain of events is functioning as intended, with performance warnings that give you greater insight into how they perform.

Transaction check steps have a timeout threshold of about 25-30 seconds depending on the command or validator used. 25 seconds is a long time to wait for an item to be added to a cart, or for a login to complete. Your transaction check would register as UP, with performance metrics showing an average of the check’s duration. Why rely on manually noting a drop in performance? How can you pinpoint where that drop occurs if the check measures 8 or even 10+ steps?

Transaction checks alone may not paint a full picture of the user experience.

RUM checks allow you to adjust latency values so you’re alerted not when the application fails, but when it fails to provide something short of the best possible user experience. The default value is 10 seconds, with room to increase or decrease as needed. Observe alerts and practice smart escalation, so you’re sending the right people alerts when performance declines for too long.

RUM-use-case-browser

Here is a practical setup you can use for RUM and Transaction monitoring that will give you greater insights into your performance of specific actions:

Configuring URL paths will allow your RUM check to measure the same steps and URLs as the Transaction check.

This setup provides insight into browser type and how the user’s choice impacts your load time. Are you optimized to deliver content the way your user expects to receive it?

Incorporating Real User Monitoring Now

One of the obstacles to incorporating RUM is adoption, but it’s not a complicated process. A RUM check requires only an HTML snippet, and some time spent in URL paths. Define your paths and get as specific as you can to improve the value of the data you collect.

RUM data is only as good as the time you retain it. The more you gather, the better picture you have of how your site has changed over time. If you start with these RUM use cases now, and consider how these apply to your application, you can begin to gather meaningful data to impact future decisions.

Minute-by-minute Uptime checks.
Start your 21-day free trial with no credit card required at Uptime.com.

Get Started

Don't forget to share this post!

Avatar

Richard Bashara is Uptime.com's lead content marketer, working on technical documentation, blog management, content editing and writing. His focus is on building engagement and community among Uptime.com users. Richard brings almost a decade of experience in technology, blogging, and project management to help Uptime.com remain the industry leading monitoring solution for both SMBs and enterprise brands. He resides in California, enjoys collecting and restoring arcade machines, and photography.

Catch up on the rest of your uptime monitoring news