Session Replay

Session Replay shows you a video-like reproduction of your user sessions so you can see what happened before, during, and after an error or performance issue occurred. Gain deeper debugging context into issues so that you can reproduce and resolve problems faster without the guesswork. As you play back each session, you can see every user interaction in relation to network requests, DOM events, and console messages. It’s effectively like having DevTools active in your production user sessions.

Replays are integrated with other parts of the Sentry product so you can see how the user experience is impacted by errors and slow transactions. You'll see replays associated with error events on the Issue Details page, and those associated with slow transactions on the Transaction Summary page. For backend error replays, any contributing backend errors will be included in the replay's timeline, breadcrumbs, and errors.

Session Replay User Interface

What is a Replay?

A replay is not a video recording. It’s a video-like reproduction of a user session, built using the rrweb recording library. Replays are created from snapshots of your web application’s DOM state (the browser’s in-memory representation of HTML). When each snapshot is played back, you will see a video-like recording of what the user did throughout their entire session. The user session includes any pageloads, refreshes, and navigations that happened while the user was on your site.

Session Replay User Interface

The start of a replay recording can be triggered by:

  • A user session being part of a sampling rate, as controlled by replaysSessionSampleRate. When a user loads a page, a decision is made whether to sample it or not.
  • An error occurring during a session that’s not being recorded. The session is then recorded based on replaysOnErrorSampleRate
  • Manually calling the replay.start() method

The end of a replay recording can be triggered by:

  • User inactivity within the tab/page that’s being recorded. (If a user doesn’t click or navigate around the site for more than 15 minutes. Mouse scrolls, mouse movements, and keyboard events don’t currently qualify as activity.)
  • A recording reaching the maximum replay duration limit (currently 60 minutes)
  • Manually calling the replay.stop() method

Learn More

Help improve this content
Our documentation is open source and available on GitHub. Your contributions are welcome, whether fixing a typo (drat!) or suggesting an update ("yeah, this would be better").