Real User Monitoring (RUM) gives you the ability to understand how users interact with the digital interfaces of your business and if their experience is satisfactory or not. This open-source powered and flexible capability brings you full visibility into what’s happening in your user's browser while interacting with your web applications.
RUM provides you end-to-end visibility into individual user transactions to quickly understand the user experience. You get insights into delays that occurred on the client, overall end-to-end transaction times, network timings, rendering events, and can perform high-level monitoring, alerting, as well as troubleshooting any potential slow-downs. You have full details about the specific performance of top user cohorts, their geographical locations, browsers, and operating systems. You can also fully understand the overall experience of all users and transactions of your digital business, all the time.
Collect RUM data
To collect traces from a browser you'll first need to create a RUM HTTP Traces Source. The Source will have an endpoint URL that you'll put in a script that sends trace data in OTLP/JSON over HTTP protocol.
Create a RUM HTTP Traces Source
To configure a RUM HTTP Traces Source:
In the Sumo Logic web interface, select Manage Data > Collection > Collection.
On the Collection page, click Add Source next to a Hosted Collector.
Select RUM HTTP Traces.
Enter a Name for the Source. A description is optional.
(Optional) For Source Host and Source Category, enter any string to tag the output collected from the source. These are built-in metadata fields that allow you to organize your data. We recommend you specify a Source Category indicating the data is from a browser.
- When you are finished configuring the Source click Save.
- The HTTP Source Address is displayed in a pop-up, copy the URL. You'll need to provide it in the script you set up in the next section, instrument your web application.
Instrument your web application
Edit and use the following script in your page head, inside the <head></head> tags. The script sends trace data in OTLP/JSON over HTTP protocol.
- You need to replace
us2, or blank for
us1based on the deployment your account is on. See endpoints for more information. For example,
Your user's browsers should be allowed to download from this domain.
<sumo_logic_http_traces_source_url>with the RUM HTTP Traces Source URL you copied in step 7 above. Your user's browser should be allowed to POST data to this URL.
This can be also replaced with an internal OpenTelemetry collector if you wish to redirect browser traffic over it. In this case, replace this URL with the OpenTelemetry collector OTLP/HTTP receiver endpoint as described in Getting Started with Transaction Tracing. In this case, the OpenTelemetry collector exporter will send data to RUM HTTP Traces Source URL you copied in step 7.
<name_of_your_web_service>with any text you want to appear as the service name in the spans. For example, "bookings-web-frontend".
(Recommended) If you use application name tags, specify the following in your script to ensure consistent tagging with your browser data:
<app_name> is the name of your application used for backend spans.
(Optional) You can specify sampling for heavy traffic sites. For example, 10% would be added to the script as:
Search traces from the browser
Create a trace query that specifies traces starting with the value you gave to
<name_of_your_web_service> as a root service name. You can also include
documentLoad as an operation name to find traces that correspond to page loads. Click on any of the load spans, such as
resourceFetch, to open a right-side panel with detailed span metadata including timing events.
Real User Monitoring metrics are automatically generated for you from browser traces. They allow you to understand the overall user experience on the level of the whole website, its front-end services as well as top-loaded page groups and user cohorts categorized by their browsers, operating systems, and geographical locations.
The metrics are collected for user actions representing document loads which means actual retrieval and execution of web documents in the browser. They currently do not support non-load actions like XHR, which will be added soon.
You can find these metrics in Metrics Explorer by querying for
documentFetch spans as span events in the details panel and also used in the Real User Monitoring App to populate the Website Performance and UI Paint Timings panels.
|1||browser_time_to_dns_resolution_end||domainLookupEnd - span start time (fetch start)|
|2||browser_time_to_ssl_end||if secureConnectionStart > 0: connectionEnd - span start time (fetch start)
|3||browser_time_to_tcp_established||if secureConnectionStart > 0: secureConnectionStart - span start time (fetch start)
else connectionEnd - span start time (fetch start)
|4||browser_time_to_request_end||responseStart - span start time (fetch start)|
|5||browser_time_to_response_end||responseEnd - span start time (fetch start)|
|6||browser_time_to_interactive||domInteractive - span start time (fetch start)|
|7.1||browser_time_to_fp||firstPaint - span start time (fetch start)|
|7.2||browser_time_to_fcp||firstContentfulPaint - span start time (fetch start)|
|7.3||browser_time_to_lcp||largestContentfulPaint - span start time (fetch start)|
|8||browser_time_to_processing_end||domComplete - span start time (fetch start)|
|9||browser_time_to_page_load_end||loadEventEnd - span start time (fetch start)|
Metrics 1-6 and 8-9 are navigation timing metrics and are presented in the form of areas on the Website Performance chart on RUM dashboards. They help you to understand the sequence of events from user clicks to a fully loaded document.
There are also three additional metrics (7.1, 7.2, and 7.3 from the table above) that explain rendering events inside the user's browser. These are First Paint, First Contentful Paint, and Largest Contentful Paint. They are only loosely related to navigation timings and in many cases, some of them may appear long after the page is fully loaded in the browser (which indicates rendering slow-downs). These metrics are displayed in the UI Paint Timings panel on RUM dashboards.
- First Paint: measures the time from page fetch start (span start time) to the moment when the browser renders the first pixels to the screen, rendering anything that is visually different from what was on the screen prior to navigation. It answers the question "Is it happening?"
- First Contentful Paint: measures the time from page fetch start (span start time) to the moment when any part of the page's content is rendered on the screen. For this metric, "content" refers to text, images (including background images), <svg> elements, or non-white <canvas> elements.
- Largest Contentful Paint: measures the time from page fetch start (span start time) to the moment when the largest image or text block visible within the viewport is rendered.
Real User Monitoring Explore view
Explore contains dashboards from the RUM App to visualize Real User Monitoring metrics gathered from tracing instrumentation in the browser. This provides visibility into an actual end-user experience by geographical locations, browser, and operating system types. This also helps you to understand how your customers experience the performance of your web application.
Explore organizes RUM data on three levels:
- Action Name: automatically generated from URLs. No configuration is required.
Action names can contain asterisks (*) to replace automatically-detected dynamic parts of the URL. If you have action names that overlap, the action name with an asterisk contains data for page loads NOT contained in more specific action names:
does not contain actions from
There are three dashboard types on the Application and Service level and a single one on the Action level. You can select the appropriate dashboard from drop-down menu in the header:
Real User Monitoring App
The Real User Monitoring App is automatically installed for all users of your organization once Sumo Logic detects data coming from user browsers. The content is placed in Sumo Logic RUM - default dashboards inside the Admin Recommended folder and is automatically available for all users in the organization. Do not modify or delete content in this folder as it gets automatically maintained and updated.
If for any reason this gets removed, you can install the App manually from App Catalog:
- From the App Catalog, search for and select the Real User Monitoring app.
- Click Add to Library.
- Provide an App Name. You can retain the existing name or enter a name of your choice for the app.
- Advanced. Select the Location in Library (the default is the Personal folder in the library), or click New Folder to add a new folder.
- Click Add to Library.
Once the app is installed, it will appear in your Personal folder or the folder you specified. From here, you can share it with your organization.
RUM Overview Application/Service/Action
The RUM Overview Application/Service/Action dashboards show the user experience for performance and requests metrics for selected application, service, or action, broken down per top geo-locations, operating systems, and browsers.
Use this dashboard to:
- Analyze load and paint timings for page document loads by application, service, or action.
- Understand what top browsers, operating systems, and locations are active with your website.
You can select the timing metric type in the statistic dropdown on the dashboard header. This will change the browser time metrics types on charts.
You can also click on any data-point on the charts to open a details panel and view the Infrastructure tab to drill-down to traces representing user transactions from the selected time point.
RUM TopN Application/Service
The RUM TopN Application dashboards show top N browsers, operating systems, and geographical locations by load time and requests for selected application or service.
Use this dashboard to:
- Find out top N browsers, operating systems, and geolocations by load or requests.
- Understand the slowest and fastest browsers from a rendering perspective or geographical locations from a network perspective.
- Find out which browsers, operating systems are in use by your users and where are they are geographically located.
You can select the timing metric type in the statistic dropdown on the dashboard header. This will change the browser time metrics types on charts. You can also define the top N number for all charts.
RUM Performance Analytics Application/Service
The RUM Performance Analytics Application dashboards show the page performance and requests for a cohort of users specified by selecting the desired combination of dimensions.
Use this dashboard to:
- Filter data for specific combinations of browser and/or operating system, and/or geolocation.
- Understand load and timing metrics for the selected user cohort.
You can compare the timings against previous days' data by selecting the appropriate option in the compare_with drop-down.
For cross-dimensional metrics, only the average statistic type is available.
You can click on any data-point on the charts to open a details panel and view the Infrastructure tab to drill-down to traces representing user transactions from the selected time point.