Since the early days of the Internet, site owners and admins have craved deeper, more meaningful insight into user experience. Knowing what happens when someone visits your site is strategically valuable since website and application performance are tightly linked with revenue and growth for many companies.
Early Approaches to RUM
Real-user monitoring (also called end-user experience monitoring by some companies) has focused heavily on a single metric: page-load time. In the early days, page-load time was calculated by passively monitoring HTTP transactions. These requests and responses were put through a byzantine process of HTML parsing, referrer/header parsing, and sessionization to determine which elements were part of the page. Eventually, the system figured out when the last element was sent to the user from the server, and used that information to calculate a theoretical page-load time.
In the late 1990s and early 2000s, several companies emerged to provide real-user monitoring tools in this vein. Tealeaf, and Coradiant were three notable early RUM providers that went through various acquisitions and were eventually rolled into the application monitoring and management offerings of IBM, HP, and BMC, respectively.
The Problem with Early Real-User Monitoring
While the early approach to RUM provided some useful data, it had two serious drawbacks and limitations:
- The processing required for calculating a theoretical page-load time based on when the last element was served was expensive in terms of computational resources.
These factors led to a rapidly diminishing return on the investment in old-school RUM/EUEM tools. However, the need to understand user experience has only intensified since then, as more business-critical operations rely on the web.
Enter the Navigation-Timing API
The powerful combination of boomerang.js and the Navigation-Timing API heralded a new era for real-user monitoring. But what if you could correlate human experience on the web with the performance of the network, web servers, database, and other components of your application delivery chain? Knowing your user's perceived page-load time is important, but even better is knowing why they had the experience they did and what you can do to improve performance.
This is where ExtraHop's new RUM bundle provides unique value for site owners as well as for the web operations teams that are ultimately responsible for tuning and troubleshooting web performance. ExtraHop's RUM bundle combines data provided by boomerang.js with all of the metrics provided by our platform natively to show an end-to-end view of the client, the networks, and the servers involved in a web application. ExtraHop's platform allows you to graph a user's perceived page-load time against 3,000+ back-end performance metrics such as server processing time and TCP retransmissions to generate a truly complete picture of the user's experience and the infrastructure that delivers it.
Marketing and Business Insights
The ExtraHop approach to RUM merges insights from wire data and machine data (specifically, instrumentation of the browser) to help you streamline your site so it loads faster and keeps users engaged for longer. You can equip your marketing teams with real-time visibility into page-load times segmented by browser and by device (see the dashboard below). You can see exactly which device/browser combos are getting the best experience, and which need work. With that information, you can choose to optimize your websites and applications for Chrome users on iPads, for example.
Many organizations already use the ExtraHop platform to segment transactions by user ID, account ID, or other identifiable information using Application Inspection Triggers. For SaaS companies, this enables their IT teams to track SLA-related metrics such as HTTP errors or network latency by account. With the addition of boomerang.js, you can now also track page load time for each account.
Customizable Dashboards That Explain Themselves
The dashboards included in the ExtraHop RUM bundle feature explanations for the metrics shown. Don't know exactly what a retransmission timeout (RTO) is or what you should do about it? Not to worry, the dashboard explains that for you. By the way, these text widgets are totally customizable using the Markdown language so you can leave notes for who you should contact if you see a certain type of behavior. For example, you could add: "If you see any number of dropped segments, contact Dave the network guy at email@example.com."
Built to Scale
The ExtraHop solution for RUM will work for even the largest web applications for several reasons. First, ExtraHop offers the industry's most scalable wire data analytics platform, capable of up to a sustained 40 Gbps of analysis, or the equivalent of 1.3 million HTTP transactions per second. Second, the ExtraHop platform reads the Boomerang beacon passively off the wire, which means it doesn't impact your website or network performance in any way. Finally, you can execute the Boomerang code injection on an available, full-proxy load balancer instead of on every individual web server, which cuts way down on complexity and operational overhead.
All Hands On Deck
Sharing this data with everyone in your company who needs to know is a snap. Just make an ExtraHop login for anyone who needs it, and they can access the data whenever they want to. That way, if catastrophe strikes and your users start seeing abysmal load times, your support team, network engineers, application developers, and other team members have a starting point for investigation and troubleshooting. ExtraHop's wire data analysis can serve as a "single source of IT truth" for all teams involved.
Get Started Today!
The best part of the RUM bundle is that it's FREE. Existing users can get the bundle from our bundles gallery, and even if you're not a customer yet, now is the perfect time to try the free, interactive ExtraHop demo.
This is a companion discussion topic for the original entry at http://www.extrahop.com/post/blog/real-user-monitorings-next-frontier-context/