What is RUM?
RUM is a passive technology used for performance metrics and monitoring. A simple definition is that it records all of the user interactions with a website. That user creating the interactions could be another website, robot or human. RUM is passive in that the collecting device gathers web traffic without having any effect on the site. This hasn't always been the case in the past but the technology has improved to a point where there is no excuse to have it. Passive monitoring differs from other types such as synthetic and automated web browsers in that it relies on actual inbound and outbound web traffic to take measurements.
Why use RUM?
The performance community for years have been preaching that site owners need to use real end-user monitoring tools, like Webpagetest.org, to get a real-world picture of performance. For example, just because a test was successful doesn't mean users aren't experiencing problems:
- The user could be on a different browser than the test system.
- The user may be accessing a portion of the site that is not being tested.
- The user may be following a navigation path that was not anticipated.
- An outage could have been so brief that it occurred between two tests.
- A user's input data could cause the site to behave erratically.
- In a load-balanced situation a user could hit a failed component while the synthetic tests hits a working one.
There are infinite ways a site can be broken but still be working or hobbling along. As I have experienced in my career, all the monitors could be green while the user experience is horrible. RUM is a collection of technologies that capture, analyze and report a site's performance and availability from an actual visitor's perspective. RUM may involve sniffing a network connection, adding JavaScript to web-pages, installing agents on boxes or any combination thereof.
Simple RUM!
If you are already using Google Analytics you already are instrumented for RUM! Take a look at the Real-Time pages for the RUM reports. It will open up a whole new vista for you. Another simple implementation is using boomerang.
boomerang always comes back, except when it hits something.
Boomerang.js website (https://github.com/lognormal/boomerang) is a piece of JavaScript code that you insert into your pages that captures measures for a whole range of performance characteristics from an actual user's interactions. I found that using Google Analytics' RealTime to be the easiest way to get RUM up and running and boomerang.js second to that.
Note: Here is how I got my nickname/alias 'oldstinger'. In high school I played the strong safety/outside linebacker position and was known for my hard hits. So one day my coach accidentally slurred my last name to 'stingham' instead of 'stringham'. My friend said that yeah the hits sting. Thus 'stinger' came into being. Now that I am getting grey hairs it has become 'oldstinger'. :)
No comments:
Post a Comment