If you have any questions, feedback or would like to report a bug, please open a GitHub issue with a link to a relevant replay or, if possible, a publicly accessible URL to the page you're attempting to record a replay of.
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 areas of the Sentry product so you can see how the user experience is impacted by errors and slow transactions. Replays associated with error events will appear on the Issue Details page, while those showing slow transactions will appear on the Transaction Summary page.
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.
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
Unlike sessions on the Releases page, user sessions in Session Replay can span multiple page loads.
Our documentation is open source and available on GitHub. Your contributions are welcome, whether fixing a typo (drat!) to suggesting an update ("yeah, this would be better").