Real User Monitoring (RUM) shows you what your users actually experience: every page and screen they open, every action they take, every request that fails, and every error they hit. Synthetic checks tell you whether a flow works from one location. RUM tells you how it went for real people, on real devices and networks.

This page covers both families of RUM application. They share the same session, view, and action model, so the concepts carry across.

What RUM collects

Every signal below belongs to a session, which ties one user's visit together:

Signal What it tells you
Sessions One user's continuous visit, linking everything below
Views A page or screen the user opened, with its load timings
Actions Clicks, taps, and custom interactions
Resources Network requests and assets, with timing and status
Errors Uncaught exceptions, rejections, and errors you report
Crashes Fatal application terminations (mobile)
Long tasks Main-thread work that blocked interaction
Session Replay A replay of what the user saw and did
Logs Console output and structured logs, tied to the session

Browser monitoring

The browser agent instruments web applications and reports views, actions, resources, errors, web vitals, and session replay. It includes integrations for React, Angular, Vue, Next.js, and Nuxt, plus a companion package for browser logs.

Topic Description
Overview What the agent collects and how it is packaged
Installation Install with a bundler
Configuration Every initialization option
Session Replay Recording, sampling, and privacy
Error Tracking Automatic and manual error reporting
Feature Flags Correlate behavior with flag variants
Logs Browser log collection and forwarding
Framework Integrations React, Angular, Vue, Next.js, Nuxt
API Reference The full public API of both SDKs

Mobile monitoring

The mobile SDKs instrument native Android and Flutter applications. They report views, actions, network requests, errors, crashes, and logs from real devices.

Platform RUM setup Configuration Log collection Trace collection
Android / Android TV (Kotlin) RUM setup Configuration Log collection Trace collection
Flutter (Android) RUM setup Configuration Log collection Not available

The Android SDK also has guides for Error Tracking, WebView Tracking, and SDK Performance Impact.

Start with the Mobile Monitoring Overview.

How sampling works

Both families sample at the session level. A session is either collected in full or not at all, so a sampled session never has gaps in the middle of a user journey.

Session Replay is sampled on top of session sampling, because it is by far the heaviest stream. A session sample rate of 100 with a replay sample rate of 30 records replay for 30% of all sessions. A session sample rate of 50 with the same replay rate records replay for 15%.

Note:

Lowering the session sample rate also lowers replay volume. If you want fewer replays but complete RUM coverage, reduce the replay rate and leave the session rate at 100.

Privacy

RUM records what users see, and Session Replay records the page or screen itself. Both families mask sensitive content by default, and both let you widen or narrow that per element.

Review the privacy settings before you enable replay on any screen that shows customer data, personal information, or payment details:

Connect RUM to your backend

RUM can attach trace headers to the requests your application makes, so a slow click in the browser links to the backend trace it caused. Your backend service needs to be instrumented with Application Monitoring for the trace to appear.

See Tracing for the browser agent's tracing options.