• /
  • EnglishEspañolFrançais日本語한국어Português
  • Inicia sesiónComenzar ahora

Introduction to session replay

Why spend hours trying to reproduce elusive mobile app bugs when you can see what your users experienced? Session replay eliminates the guesswork in troubleshooting by providing a video replay of what the end user saw on their phone or tablet, synchronized with all the telemetry data from that session. This means you can quickly assess the real impact of errors on your users, identify performance bottlenecks and UX friction points, and resolve issues faster without relying on bug reports or local reproduction.

Session replay player interface showing a mobile app session with timeline controls, device frame displaying app screens, and synchronized telemetry data panel

How session replay works

Understanding how session replay works helps you make informed decisions about privacy settings and troubleshooting.

When a user launches your app, the Mobile agent makes a call to New Relic servers to check whether session replay is enabled, and if so, what the sampling rates and privacy settings are. The agent resolves the sampling decision and starts capturing replay data.

Unlike Browser session replay, mobile apps don't have a DOM that can be captured and recreated. Instead, the Mobile agent monitors the view lifecycle and transforms the viewport into HTML. Your masking settings are applied to the HTML reproduction of the viewport which is then serialized to JSON and stored client-side until data transmission is triggered every 1 minute, when the payload is gzipped and sent to New Relic.

If the application crashes or hangs unexpectedly, the data that was collected between the last successful transmission cycle and the unexpected app exit is stored client-side until the next app launch, when the Mobile agent will attempt to restore and upload the orphaned data. Due to how iOS and Android handle unexpected exits, we can't always recover all data after unexpected app exits.

When a replay is viewed in the New Relic UI, the JSON is fetched from an internal API and deserialized back to a stream of HTML updates which constitutes the "video" being played back in your web browser.

Due to the transformation from native platform view frameworks into HTML, session replays are generally accurate but not pixel perfect. We will continually be working to improve the accuracy of replays.

Session definition

Today, replays store up to:

  • 4 hours of a user session (similar to browser session replay)
  • Data captured until a user backgrounds the app
  • Session is programmatically reset when issuing a call to update user id via setUserId()

Data retention

By default, session replay data is stored for 8 days in the Mobile events namespace. To know more about default retention periods, refer to data retention documentation. To extend this retention period, you can either upgrade to Data Plus or edit your retention settings.

Learn more

For more details on session replay, refer to the following sections:

Next: Set up session replay

Copyright © 2026 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.