-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
ref(replay): Refactor pages inside the Product Walkthrough > Replay area #14712
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 12 commits
4e592f9
6a0ba48
c02c162
9b7505e
df0e20d
9f1b7b5
d05cac2
47534e2
3ce6094
2d98121
bb4cb5a
4147c32
bb77fd1
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,72 @@ | ||
| --- | ||
| title: "Replay Details" | ||
| sidebar_order: 72 | ||
| description: "Learn more about how information is organized on the Replay Details page and how to share and delete replays." | ||
| --- | ||
|
|
||
| <Include name="session-replay-web-report-bug.mdx" /> | ||
|
|
||
| Every replay has a detailed view that contains the embedded video player and rich debugging context. Playing back the video will allow you to see every user interaction in relation to frontend and backend errors, console messages, DOM events, network requests and more depending on your platform. It’s like having [DevTools](https://developer.chrome.com/docs/devtools/overview/) active for your production user sessions. Almost every component on this page is connected through timestamps. See the breakdown of each component and why it’s valuable: | ||
|
|
||
|  | ||
|
|
||
| - **Replay Player:** Video-like reproduction of a user session. This is where you can visualize exactly what actions the user took during a user session and how the application behaved within this specific user’s environment, including device, OS, latency, settings, and so on. Most importantly, you can see which actions led to an error, which takes the guesswork out of debugging. | ||
| - By default, the Session Replay SDK is configured to redact all text, user input, and media elements. See all privacy configuration options [here](/platform-redirect/?next=/session-replay/privacy/). | ||
|
|
||
| * **Breadcrumbs:** The replay breadcrumbs show when key user interactions took place. Breadcrumbs are synced with the replay player and will auto-scroll as the video plays. | ||
| Specifically: | ||
| - **User Clicks or Taps:** including rage and dead clicks on Web. | ||
| - **Navigations, Page Loads & View Changes:** [Learn more about spans](/product/sentry-basics/distributed-tracing/) | ||
ryan953 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| - **Mobile specific:** Backgrounding as well as foregrounding, network connectivity, and battery usage. | ||
| - **Web Vitals:** and an overall Performance Score [Learn more](/product/insights/web-vitals/) | ||
ryan953 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| - **Custom Breadcrumbs:** Learn more about configuring [custom breadcrumbs](/product/sentry-basics/integrate-backend/configuration-options/#breadcrumbs). | ||
|
|
||
| Some [breadcrumb types](/product/issues/issue-details/breadcrumbs/) visible in **Issue Details** are not 1:1 to the replay breadcrumbs list. The trail of events typically seen in the Issue Details page are now displayed in the Console and Network components of the **Replay Details** page. | ||
|
|
||
| - **Timeline:** This section at the bottom of the **Replay Details** page illustrates where significant events (such as errors, user interactions, and more) happen over the course of the replay. This allows users to easily scrub to key events by dragging across the timeline. It also visually conveys the amount of time that took place between events and has a zoom functionality, so you can easily zoom in to distinguish between events that happen close together. | ||
|
|
||
| * **Console:** A list of debugging messages that don't belong in the breadcrumbs list will appear here. For web, this includes `console.log` statements and browser-generated messages to the developer. For React Native, custom `console.log` will appear here, and in Android, logs from [Logcat](/platforms/android/integrations/logcat/) and [Timber](/platforms/android/integrations/timber/) are also supported. | ||
|
|
||
| - **Network:** A list of all network requests that were initiated by the app while the replay recording was active. As the video plays, there is a visual indicator that tracks through the table of network requests, highlighting which requests happened prior to or next to this point in the video. You can also click the timestamp on the far right of each request to bring yourself to that point in the replay player. If configured for web, Sentry can also show the actual [HTTP request body and headers](/platform-redirect/?next=/session-replay/configuration/#network-details). | ||
|
|
||
| - **Errors:** See all the errors that occurred in the replay (including in your backend), with links to the corresponding events and [issue(s)](/product/issues/issue-details/error-issues/), as well as the impact these issues have had holistically across all users on your application. | ||
|
|
||
| - **Trace:** Connects all the [trace(s)](/product/sentry-basics/tracing/distributed-tracing/#traces-transactions-and-spans) that happened during the replay. | ||
| - Due to transaction sampling, this view may be missing traces. | ||
|
|
||
| - **Memory (web):** The view shows a heap size chart displaying the total amount of memory being used by JavaScript objects. | ||
| - This view is only available when the replay was recorded on a Chromium-based browser. | ||
|
|
||
| - **Tags:** A complete list of built-in fields and custom tags associated with a replay, such as operating system version and name, device specs, release, and user details. | ||
|
|
||
|
|
||
| ## Share Replays | ||
|
|
||
| Share a replay at a specific timestamp with a Sentry member by clicking the “Share” button in the top-right corner of the **Replay Details** page. This allows you to share replays at the point of a critical event or user flow with other Sentry members in your organization. | ||
|
|
||
|  | ||
|
|
||
| ## Delete Replays | ||
|
|
||
| Delete an individual replay by clicking the “Delete” button in the top-right corner of **the Replay Details** page. You cannot delete replays that are in progress. Please note that deleting replays does not affect your quota. | ||
|
|
||
| ## Tags | ||
|
|
||
| Find a complete list of built-in fields and custom tags associated with a replay under the “Tags” tab for additional context around the replay you’re viewing. | ||
|
|
||
|  | ||
|
|
||
| ## Retention | ||
|
|
||
| Replays are retained for 90 days in Sentry for paid plans (the same retention period as other event types, such as Errors and Transactions). For free plans, replays are retained for 30 days in Sentry. The retention period is not configurable. | ||
|
|
||
| ## Inbound Filtering | ||
|
|
||
| If you've chosen not to capture certain errors by applying any of the below inbound filter rules, those same rules will also apply to Session Replays. | ||
|
|
||
| - IP Addresses | ||
| - Releases | ||
| - Request URLs | ||
| - User-Agents | ||
|
|
||
| **Note**: Because filtered outcomes are emitted per **segment** whereas successful outcomes are emitted per **replay** (a replay being a collection of segments), you may see a noticeable increase in filtered outcomes on your [Stats](https://sentry.io/orgredirect/organizations/:orgslug/stats) page. This is not an error. | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,6 +1,6 @@ | ||
| --- | ||
| title: "Replays Page and Filters" | ||
| sidebar_order: 12 | ||
| sidebar_order: 71 | ||
| description: "Learn how to navigate the Replays page and filter user sessions that meet specific conditions." | ||
| --- | ||
|
|
||
|
|
@@ -11,22 +11,22 @@ You can search for or browse replays of user sessions on the **Replay** page, wh | |
| - **Project**: The project in which the session was recorded. | ||
| - **Start Time**: How long ago the replay was triggered. (Replays can appear here while the recording is still in progress.) | ||
| - **Duration**: The length of the replay. (Recordings can range from 1 second to 60 minutes.) | ||
| - **Errors:** The number of frontend errors identified by Sentry, as encountered in the replay. (Sometimes the error count reported is different from the actual errors captured. Read more in [Error Linking](/platforms/javascript/session-replay/#error-linking).) | ||
| - **Errors:** The number of frontend errors identified by Sentry, as encountered in the replay. (Sometimes the error count reported is different from the actual errors captured. Read more in [Error Linking](/platform-redirect/?next=/session-replay/#error-linking).) | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This link takes me to an odd view in the Vercel preview... I see a shortlist of SDKs (not even comprehensive to everything Replay covers) and then then that goes to a generic Replay docs page? What is the Error Linking link supposed to be? 🤔
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Ah it's a special platform re-direct, I'm assuming the missing platforms don't have the relevant section in their own docs, so that's OK. Clicking on a platform link in the list, doesn't take me to Error Linking tho :(
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. i'll look at making this link respect the |
||
| - **Activity**: The activity level as determined by the number of errors encountered, their duration, and the number of UI events. | ||
| - **Dead Clicks**: User clicks on `a` and `button` tags that do not result in any page activity after 7 seconds (i.e. no HTML was added, removed, or updated; no visual changes were observed in the page). | ||
| - **Rage Clicks**: Five or more clicks on a dead element (it exhibits no page activity after 7 seconds.) Rage clicks are a subset of dead clicks. | ||
|
|
||
| The **Replay** page also has two widgets titled "Most Dead Clicks" and "Most Rage Clicks" that show the selectors with the most rage or dead clicks. Expanding the selector will show example replays where that selector was clicked. You can also click the "See all selectors" button to view all selectors that have gotten rage or dead clicks. SDK version `7.60.1` or higher is required to see rage and dead click data on the **Replay** page. | ||
|
|
||
| By default, the IP address is used to identify each replay on this page. This can be changed in your organization and project settings. If you’d like to set an email or a username instead, call [Sentry.setUser()](/platforms/javascript/enriching-events/identify-user) in your client-side configuration.If you’ve enabled the option to “Prevent Storing of IP Addresses” in either your project-level or organization-wide settings, the IP address will appear redacted on the **Replay** page. For more information, read about [several data scrubbing options](/security-legal-pii/scrubbing/server-side-scrubbing/) in the Sentry app on either an organization-wide or a project level. | ||
| By default, the IP address is used to identify each replay on this page. This can be changed in your organization and project settings. If you’d like to set an email or a username instead, call [Sentry.setUser()](/platform-redirect/?next=/enriching-events/identify-user) in your client-side configuration. If you’ve enabled the option to prevent storing of IP addresses in either your project-level or organization-wide settings, the IP address will appear redacted on the **Replay** page. For more information, read about [several data scrubbing options](/security-legal-pii/scrubbing/server-side-scrubbing/) in the Sentry app on either an organization or a project level. | ||
|
|
||
| Replays can appear on this page while they’re still in progress. You can’t delete in-progress replays. | ||
|
|
||
| Each replay will bring users to the [**Replay Details**](/product/explore/session-replay/web/replay-details/) page. | ||
|
|
||
| ## Filtering Replays | ||
|
|
||
| All replays have built-in key fields, and may have [custom tags](/platforms/javascript/enriching-events/tags/) if you have them set up. The search bar operates similarly to the one in the Discover [Query Builder](/product/explore/discover-queries/query-builder/#filter-by-search-conditions). Use it to enter these keys and assign them values. This will filter down your list of replays so you can quickly find the ones with the criteria you care about. For example, you can refine your replays search to a specific browser by using `browser.version:` as a key field and assigning the version as a value. For a list of all the built-in key fields/replay properties, check out our [Searchable Properties](/concepts/search/searchable-properties/#replay-properties) documentation. | ||
| All replays have built-in key fields, and may have [custom tags](/platform-redirect/?next=/enriching-events/tags/) if you have them set up. The search bar operates similarly to the one in the Discover [Query Builder](/product/explore/discover-queries/query-builder/#filter-by-search-conditions). Use it to enter search for keys and specific values. This will filter down your list of replays so you can quickly find the ones with the criteria you care about. For example, you can refine your replays search to a specific browser by using `browser.version:` as a key field and assigning the version as a value. For a list of all the built-in key fields and replay properties, check out our [Searchable Properties](/concepts/search/searchable-properties/session-replay/) documentation. | ||
ryan953 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
|  | ||
|
|
||
|
|
@@ -40,8 +40,8 @@ To delete a [single replay](/product/explore/session-replay/web/replay-details/# | |
|
|
||
| To delete multiple replays at once, go to the **Replay** page and use the checkboxes next to each replay row to select the ones you want to delete. Then, click the "Delete" button to remove the selected replays. Deleting a large number of replays takes some time to complete. If a job is running you will see a banner at the top of the Replay list and a link to 'Track Progress'. You can also visit Settings > Project > MyProject > Replays to see the history of previous deletion jobs. | ||
|
|
||
|  | ||
|  | ||
|
|
||
| Alternatively, you can delete all replays that match a search query by clicking "Select all" at the top of the results list. This selects every replay matching the current filters, not just those visible on the page. | ||
|
|
||
|  | ||
|  | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.