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%.
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:
- Browser: Session Replay privacy.
- Android: Android configuration.
- Flutter: Flutter configuration.
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.
+1-415-800-4104