Real User Monitoring (RUM) Configuration
Real user monitoring (RUM) is a passive monitoring technique that records user interaction with a website or client interacting with a server or cloud-based application. It has many uses, including:
- testing website or application changes for errors or slowdowns in the pre-deployment phase
- troubleshooting performance problems
As technology shifts to hybrid environments, it becomes more and more important to monitor from within the client itself.
Real user monitoring is typically "passive monitoring" – that is, it collects web traffic without having any effect on the operation of the site. This differs from synthetic monitoring with automated web browsers in that it relies on actual inbound and outbound web traffic to take measurements.
Instart's service provides a RUM capability. If enabled for a customer, baseline page load time information is exposed through the customer portal on the Analytics > Load Times pane. All raw data collected by the Nanovisor is available via log delivery for in-depth analysis.
When RUM is enabled, the Nanovisor collects the Navigation Timing metrics when it runs, and periodically encodes this data into a query string which it appends to a request for blank.gif from the service, thereby beaconing the most recent timing data back for collection. The service, upon receiving the request, then decodes the query string and puts the values into both the statistics database used by the Customer Portal and the access log line (see below) stored for the request.
Here's an example query string with the Navigation Timing data (with line breaks added for readability):
For the portal Load Times display, we calculate the following metrics:
- Time to Page Load – the time between when the browser sends its request for the web page assets (that is, after the DNS lookups are finished and the TCP connection has been established) until the load event occurs. This is simply the difference between the time of the loadEventStart event and the requestStart event.
- Time to Interactive – the time between when the browser sends its request for the web page assets (that is, after the DNS lookups are finished and the TCP connection has been established) until the page becomes responsive to user interactions. This is simply the difference between the time of the domInteractive event and the requestStart event.
To enable RUM in the property configuration, add a monitoring block in an action block. The nv block with target set to auto or rum is also required, and a extra_flags block:
The value of rumDataConfigKey determines the config file for this customer. By default we use a common file (
monitorprod.json). If you want to use a customer-specific file, please contact Support.
The use of the extra_flag parameters is required for the period of time that the RUM v1 and v2 data pipelines are both active. If extra_flags is not present, the v1 pipeline is used. Eventually, we will retire the v1 pipeline and the need for the extra_flags parameters.