-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
(CHORE): managing session replay modify capabilities #19593
base: develop
Are you sure you want to change the base?
Changes from 3 commits
5d69f1c
4dba0d0
87665d5
74509b7
ae98190
a4349f6
c4ae7a1
7a37a22
127a4d0
b208c62
4722505
05ae319
00502d9
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
--- | ||
title: "Additional information" | ||
metaDescription: "Data consumption, User privacy and security concerns." | ||
freshnessValidatedDate: 2024-12-19 | ||
--- | ||
|
||
## Data consumption [#data-consumption] | ||
|
||
Session replay follows the same consumption pricing as your other browser bytes. The amount of bytes produced depends on the count, length, and user-activity levels of sessions, as well as the complexity of your site's DOM. | ||
|
||
The most accurate way to project your cost per replay is to enable the feature for a short test period and measure your actual consumption. Alternatively, you can use an average of 5.3 MB per replay as a rough approximation, though keep in mind that your actual cost may vary significantly. A simple formula to project your approximate costs is: `sessions` x `sampling_rate` x `gb_per_replay` x `cost_per_gb`. Here's an example: | ||
Check notice on line 11 in src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/additional-information.mdx GitHub Actions / vale[vale] src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/additional-information.mdx#L11
Raw output
Check notice on line 11 in src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/additional-information.mdx GitHub Actions / vale[vale] src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/additional-information.mdx#L11
Raw output
Check notice on line 11 in src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/additional-information.mdx GitHub Actions / vale[vale] src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/additional-information.mdx#L11
Raw output
|
||
|
||
``` | ||
1 million (sessions) x 5% (sampling_rate) x 0.0053 (gb_per_replay) x $0.35 (cost_per_gb) = $92.75 for 50,000 replays | ||
``` | ||
|
||
To control your consumption, [adjust your sampling rates](/docs/browser/browser-monitoring/browser-pro-features/session-replay/configuration/setup-session-replay/#configure-sampling-rates). | ||
|
||
## User privacy and security concerns [#data-security] | ||
|
||
We prioritize data privacy and built session replay with strong default settings to minimize the potential exposure of sensitive customer information. You can further [customize privacy settings](/docs/browser/browser-monitoring/browser-pro-features/session-replay/configuration/customize-privacy-settings) to meet your specific needs. | ||
Check notice on line 21 in src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/additional-information.mdx GitHub Actions / vale[vale] src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/additional-information.mdx#L21
Raw output
|
||
|
||
Session replay does not capture screenshots or videos. Instead, it records only the essential DOM state changes needed to reconstruct user interactions. This significantly reduces the amount of data stored. | ||
Check failure on line 23 in src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/additional-information.mdx GitHub Actions / vale[vale] src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/additional-information.mdx#L23
Raw output
|
||
|
||
### Compliance with data privacy laws | ||
|
||
New Relic acts as a data processor under GDPR and a service provider under CCPA. This means we process data according to your instructions. Ultimately, compliance with these laws depends on how you implement session replay within your application. | ||
Check notice on line 27 in src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/additional-information.mdx GitHub Actions / vale[vale] src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/additional-information.mdx#L27
Raw output
|
||
|
||
By default, all text and user inputs, including personal data, are masked within the recordings. You can selectively unmask specific elements if needed, but the default ensures that no personally identifiable information is readily visible. This approach provides a strong foundation for data privacy while offering flexibility for your specific needs. | ||
Check notice on line 29 in src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/additional-information.mdx GitHub Actions / vale[vale] src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/additional-information.mdx#L29
Raw output
Check notice on line 29 in src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/additional-information.mdx GitHub Actions / vale[vale] src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/additional-information.mdx#L29
Raw output
|
||
|
||
## Session replay and your app's performance [#app-performance] | ||
|
||
Session replay minimizes impact on your app's performance with: | ||
|
||
* **Minimal initial impact**: Session replay loads asynchronously after full page load, ensuring no interference with early page load performance metrics. | ||
* **DOM mutation tracking**: Once loaded, session replay monitors DOM changes and reports them as compressed payloads. The size of these payloads correlates with the complexity of the DOM tree. | ||
* **Performance optimization techniques**: Payload size can also increase if the DOM is large. However, session replay uses a number of techniques to reduce payload size, such as: | ||
* GZIP compression | ||
* Duplication reduction | ||
* Strategic payload harvesting: It only sends a large (compressed) payload when the full DOM is captured, which typically only happens when the replay feature is first imported. After that, it will only send small payloads that relate to the user's actions. The browser agent will harvest on whatever happens first of the following: | ||
Check notice on line 40 in src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/additional-information.mdx GitHub Actions / vale[vale] src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/additional-information.mdx#L40
Raw output
|
||
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. ...whatever happens first among the following 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 have rewritten the whole sentence |
||
* The payload reaches more than 64 KB compressed | ||
* 60 seconds elapses | ||
* The visibility of the page changes (tab change, focus, navigation, etc) | ||
* The session ends |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,123 @@ | ||
--- | ||
title: "Advanced features" | ||
metaDescription: "Manually record session replays, disable automatic session replay tracking and use nerd graph to configure replay settings." | ||
freshnessValidatedDate: 2024-12-19 | ||
--- | ||
|
||
## Manually record session replays [#manual-replays] | ||
|
||
If needed, you can programmatically `force` a session replay to start or stop recording using API methods. Here are some use cases: | ||
|
||
* Allow users to opt in for interaction recording. For example, if you have a pop-up asking "Allow this session to be recorded for performance analysis?" and a user consents: | ||
Check notice on line 11 in src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/advanced-features.mdx GitHub Actions / vale[vale] src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/advanced-features.mdx#L11
Raw output
|
||
1. Call `newrelic.recordReplay()` to initiate recording. | ||
Check notice on line 12 in src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/advanced-features.mdx GitHub Actions / vale[vale] src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/advanced-features.mdx#L12
Raw output
|
||
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. , 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. Updated |
||
2. Once the session is complete or consent is withdrawn, use `newrelic.pauseReplay()` to stop capturing data. | ||
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. After instead of once 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. Updated |
||
* Record sessions based on specific criteria, such as: | ||
* Start recording only for sessions on specific URLs such as a product checkout flow. | ||
* Stop recording for sensitive pages such as `/billing` or `/health-records`. | ||
|
||
See the API documentation for instructions: | ||
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. Global comment...use "refer" instead of "see" 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. Updated |
||
|
||
* [`newrelic.recordReplay`](/docs/browser/new-relic-browser/browser-apis/recordReplay/) | ||
* [`newrelic.pauseReplay`](/docs/browser/new-relic-browser/browser-apis/pauseReplay/) | ||
|
||
## Disable automatic session replay tracking [#auto-replays] | ||
|
||
You can prevent session replays from automatically starting, even when sampled, by setting the API configuration option `autoStart` to `false`. This is useful in scenarios where you need to prioritize specific actions over automatic sampling. For example, you might not want session replays to automatically run on sensitive pages, like HIPAA-compliant ones. In such cases, you can use the `.start()` API to manually trigger the replay feature after user consent is obtained (and your app calls `.start()`) | ||
Check notice on line 25 in src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/advanced-features.mdx GitHub Actions / vale[vale] src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/advanced-features.mdx#L25
Raw output
Check notice on line 25 in src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/advanced-features.mdx GitHub Actions / vale[vale] src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/advanced-features.mdx#L25
Raw output
|
||
|
||
Setting `autoStart: false` instructs the agent to defer its initialization until explicitly called using `.start()`. This ensures that session replays will not be created at all, even if the backend samples your application for recording. | ||
Check failure on line 27 in src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/advanced-features.mdx GitHub Actions / vale[vale] src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/advanced-features.mdx#L27
Raw output
Check notice on line 27 in src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/advanced-features.mdx GitHub Actions / vale[vale] src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/advanced-features.mdx#L27
Raw output
|
||
|
||
<Callout variant="important"> | ||
Calling `.start()` does not guarantee that a session replay will be recorded. It simply delays the module import and evaluation of sampling results until this point. If you need to force a recording, see [Manually record session replays](#manual-replays). | ||
Check failure on line 30 in src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/advanced-features.mdx GitHub Actions / vale[vale] src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/advanced-features.mdx#L30
Raw output
Check notice on line 30 in src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/advanced-features.mdx GitHub Actions / vale[vale] src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/advanced-features.mdx#L30
Raw output
|
||
</Callout> | ||
|
||
To start using this API, see [`newrelic.start`](/docs/browser/new-relic-browser/browser-apis/start/). | ||
|
||
## Use Nerdgraph to configure replay settings [#nerdgraph-mutation] | ||
|
||
You can configure session replay settings using our [NerdGraph API](/docs/apis/nerdgraph/get-started/introduction-new-relic-nerdgraph/) instead of using the UI. This method is helpful if you need to make bulk changes, such as applying sampling rates to multiple browser entities. | ||
Check notice on line 37 in src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/advanced-features.mdx GitHub Actions / vale[vale] src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/advanced-features.mdx#L37
Raw output
|
||
|
||
Here's an example mutation and variables to create a new browser application with default settings: | ||
|
||
<table> | ||
<thead> | ||
<tr> | ||
<th> | ||
Mutation | ||
</th> | ||
|
||
<th> | ||
Variables | ||
</th> | ||
</tr> | ||
</thead> | ||
|
||
<tbody> | ||
<tr> | ||
<td> | ||
```graphql | ||
mutation SessionReplayConfigUpdate($guid: EntityGuid!, $settings: AgentApplicationSettingsUpdateInput!) { | ||
agentApplicationSettingsUpdate(guid: $guid, settings: $settings) { | ||
browserSettings { | ||
sessionReplay { | ||
blockSelector | ||
errorSamplingRate | ||
maskTextSelector | ||
enabled | ||
collectFonts | ||
inlineImages | ||
inlineStylesheet | ||
samplingRate | ||
maskAllInputs | ||
maskInputOptions { | ||
color | ||
date | ||
datetimeLocal | ||
month | ||
number | ||
range | ||
search | ||
select | ||
tel | ||
text | ||
textArea | ||
time | ||
url | ||
week | ||
} | ||
} | ||
} | ||
errors { | ||
field | ||
errorClass | ||
description | ||
} | ||
} | ||
} | ||
``` | ||
</td> | ||
|
||
<td> | ||
```json | ||
{ | ||
"sessionReplay": { | ||
"enabled": true, | ||
"collectFonts": true, | ||
"blockSelector": ".private-fields", | ||
"maskTextSelector": "*", | ||
"inlineStylesheet": false, | ||
"maskAllInputs": true, | ||
"maskInputOptions": { | ||
"color": true, | ||
"date": true, | ||
"textArea": true | ||
}, | ||
"samplingRate": 9.99, | ||
"errorSamplingRate": 1.11 | ||
} | ||
} | ||
``` | ||
</td> | ||
</tr> | ||
</tbody> | ||
</table> |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,85 @@ | ||
--- | ||
title: "(Optional) Configure privacy settings" | ||
metaDescription: "Customizing Privacy Settings for user interactions to debug faster and improve page performance." | ||
freshnessValidatedDate: 2024-12-19 | ||
--- | ||
|
||
User privacy is a critical consideration when recording session replays. Although default settings are designed to protect sensitive information, you may need to adjust privacy configurations to meet specific needs. This section explains how to mask, block, or ignore certain data to comply with privacy standards while maintaining the functionality of session replays. | ||
Check notice on line 7 in src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/configuration/customize-privacy-settings.mdx GitHub Actions / vale[vale] src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/configuration/customize-privacy-settings.mdx#L7
Raw output
|
||
|
||
By default, all text and inputs are replaced with asterisks. Here's an example of how a replay looks with default privacy: | ||
Check notice on line 9 in src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/configuration/customize-privacy-settings.mdx GitHub Actions / vale[vale] src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/configuration/customize-privacy-settings.mdx#L9
Raw output
|
||
|
||
<img | ||
title="Example of default privacy settings" | ||
alt="Example of default privacy settings" | ||
src="/images/browser_screenshot-full_text-masking-example.webp" | ||
/> | ||
|
||
If this setting is appropriate, move onto the next step. | ||
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. on to 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. Updated |
||
|
||
If you need to customize what content or user input is captured, you have options to mask, block, or ignore specific classes and attributes of content or user input. Make sure to check with your privacy team before changing the privacy settings. | ||
Check notice on line 19 in src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/configuration/customize-privacy-settings.mdx GitHub Actions / vale[vale] src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/configuration/customize-privacy-settings.mdx#L19
Raw output
|
||
|
||
## Mask sensitive text [#mask-text] | ||
|
||
You can mask sensitive text, which means the text will be replaced with asterisks (\*). For example, you can mask a user's account ID that shows in a URL. | ||
Check notice on line 23 in src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/configuration/customize-privacy-settings.mdx GitHub Actions / vale[vale] src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/configuration/customize-privacy-settings.mdx#L23
Raw output
|
||
|
||
To specify which input should be masked, you have a few options: | ||
Check notice on line 25 in src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/configuration/customize-privacy-settings.mdx GitHub Actions / vale[vale] src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/configuration/customize-privacy-settings.mdx#L25
Raw output
|
||
|
||
* On the <DNT>**Application settings**</DNT> page, add your own CSS selectors or check the masking boxes. Note that using mask selectors will **not** mask user input, so if you need to hide user input, we recommend using block selectors. | ||
Check failure on line 27 in src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/configuration/customize-privacy-settings.mdx GitHub Actions / vale[vale] src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/configuration/customize-privacy-settings.mdx#L27
Raw output
|
||
|
||
<img | ||
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. Is this image necessary? 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. Let me check this with the PM and get back to you. |
||
title="Mask settings" | ||
alt="Screenshot of mask settings in the ui" | ||
src="/images/browser_screenshot-full_mask-settings.webp" | ||
/> | ||
* Add our CSS class `nr-mask` or attribute `data-nr-mask` to your webpage HTML. | ||
For example, to mask an account ID from showing in the URL, add `nr-mask` to the `<div>` containing the account ID: | ||
|
||
````html | ||
<div>Account ID: <span class="nr-mask">99881123</span></div> | ||
``` | ||
```` | ||
|
||
These options use an asterisk (\*) to mask all text in that element, hiding the actual text but revealing the number of characters entered. However, asterisks are not valid numbers, so masking number type-specific fields such as telephone or credit card numbers will result in a blank field in a replay. | ||
Check failure on line 42 in src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/configuration/customize-privacy-settings.mdx GitHub Actions / vale[vale] src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/configuration/customize-privacy-settings.mdx#L42
Raw output
|
||
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. Why is this formatted as code? 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. Updated, the believe, the writer who had written the document earlier was unable to add the code and that is why it was formatted as a code |
||
|
||
## Block site content [#block-content] | ||
|
||
You can block entire sections of content on your site, which means the section will appear as an empty placeholder in session replay. For example, if you have an image on your About Us webpage and don’t need it captured, you could block the class containing the image. | ||
|
||
To block specific classes or attributes, you have a few options: | ||
|
||
* On the Application settings page, add your CSS selectors in the \*_Block selectors_ field. | ||
|
||
<img | ||
title="Block Selectors" | ||
alt="Screenshot of session replay settings" | ||
src="/images/browser_screenshot-full_session-replay-app-settings.webp" | ||
/> | ||
* Manually add our CSS class `nr-block` or attribute `data-nr-block` to your webpage HTML. For example, if you wanted to block irrelevant text and images from session replay, add `nr-block` to `<div class>`: | ||
|
||
```html | ||
<html> | ||
<head> | ||
<title>Sample image and text</title> | ||
</head> | ||
<body> | ||
<div class="image-text-container nr-block"> | ||
<img src="https://example.com/image.png" alt="Image description"> | ||
</div> | ||
</body> | ||
</html> | ||
``` | ||
|
||
## Ignore user input [#ignore-input] | ||
|
||
You can ignore changes to a user input field, which means the input field will still be displayed in the replay, but you won't display changes to the value. For example, you could ignore the class containing the email address or credit card fields. Password input fields are always masked. | ||
Check notice on line 74 in src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/configuration/customize-privacy-settings.mdx GitHub Actions / vale[vale] src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/configuration/customize-privacy-settings.mdx#L74
Raw output
|
||
|
||
To ignore input, add the CSS class `nr-ignore` to the input field’s class name. For example, if you want to ignore sensitive information on a billing page, add `class="nr-ignore"` to `<input type>`: | ||
|
||
```html | ||
<div class="sensitive-information"> | ||
<h2>Sensitive Information</h2> | ||
<p>Credit card number: <input type="number" class="nr-ignore" id="creditCardNumber"></p> | ||
<p>Expiration date: <input type="number" class="nr-ignore" id="expirationDate"></p> | ||
<p>CVV code: <input type="number" class="nr-ignore" id="cvvCode"></p> | ||
</div> | ||
``` |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
--- | ||
title: "Setup session replay" | ||
metaDescription: "Enable session replay to play back user interactions and improve page performance." | ||
freshnessValidatedDate: 2024-12-19 | ||
--- | ||
|
||
Fully utilize session replay in New Relic, start by enabling this feature in your browser application settings. This step is essential for capturing user interactions on your web app, providing insights into user journeys, and troubleshooting issues effectively. Follow the steps below to enable session replay and ensure your browser agent is configured correctly. | ||
Check notice on line 7 in src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/configuration/setup-session-replay.mdx GitHub Actions / vale[vale] src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/configuration/setup-session-replay.mdx#L7
Raw output
Check notice on line 7 in src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/configuration/setup-session-replay.mdx GitHub Actions / vale[vale] src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/configuration/setup-session-replay.mdx#L7
Raw output
Check notice on line 7 in src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/configuration/setup-session-replay.mdx GitHub Actions / vale[vale] src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/configuration/setup-session-replay.mdx#L7
Raw output
|
||
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. To fully? 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. Apologies, I did not see this, i have removed the word |
||
|
||
## Enable session replay [#enable-session-replay] | ||
|
||
1. Go to <DNT>**[one.newrelic.com](https://one.newrelic.com/all-capabilities) > All Capabilities > Browser**</DNT>. | ||
|
||
2. Select your browser app. | ||
|
||
3. In the left-hand menu, click <DNT>**Application settings**</DNT>. | ||
|
||
4. On the <DNT>**Application settings**</DNT> page, make sure <DNT>**Pro**</DNT> or <DNT>**Pro + SPA**</DNT> browser agent is selected. Session replay is not available for the Lite browser agent. | ||
|
||
5. Toggle ON <DNT>**Session tracking**</DNT> and <DNT>**Session replay**</DNT> settings. | ||
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. ON should follow the setting names 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. Updated |
||
|
||
## Configure sampling rates [#configure-sampling-rates] | ||
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 section title starts with a verb but doesnt have any actions within. Revisit. 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. Updated |
||
|
||
Set a sampling rate (0%-100%) for the following samples: | ||
|
||
* <DNT>**User sessions**</DNT> records a random sample of all user sessions. | ||
|
||
* <DNT>**Errored session**</DNT> records a random sample of all errored sessions. The agent buffers a sliding window of data for up to 30 seconds on the client-side, and if errors occur, the buffered data will be harvested and the remainder of the session will be recorded. If an error does not occur, the replay is never harvested. | ||
Check notice on line 27 in src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/configuration/setup-session-replay.mdx GitHub Actions / vale[vale] src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/configuration/setup-session-replay.mdx#L27
Raw output
Check notice on line 27 in src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/configuration/setup-session-replay.mdx GitHub Actions / vale[vale] src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/configuration/setup-session-replay.mdx#L27
Raw output
Check notice on line 27 in src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/configuration/setup-session-replay.mdx GitHub Actions / vale[vale] src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/configuration/setup-session-replay.mdx#L27
Raw output
Check failure on line 27 in src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/configuration/setup-session-replay.mdx GitHub Actions / vale[vale] src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/configuration/setup-session-replay.mdx#L27
Raw output
|
||
|
||
For example, if you set the session sampling rate to 50% and the error sampling rate to 100%, it means that: | ||
|
||
* Half of all user sessions will be recorded. | ||
Check notice on line 31 in src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/configuration/setup-session-replay.mdx GitHub Actions / vale[vale] src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/configuration/setup-session-replay.mdx#L31
Raw output
|
||
|
||
* All errored sessions will be recorded, even if they're not part of the 50% sample. | ||
Check notice on line 33 in src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/configuration/setup-session-replay.mdx GitHub Actions / vale[vale] src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/configuration/setup-session-replay.mdx#L33
Raw output
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
--- | ||
title: "Update JavaScript for session replay" | ||
metaDescription: "Updating JavaScript for session replay to play back user interactions and improve page performance." | ||
freshnessValidatedDate: 2024-12-19 | ||
--- | ||
|
||
## (For copy/paste deployed agents) Manually update the JavaScript snippet [#update-snippet] | ||
|
||
If you use the copy/paste method to deploy your browser agent, you may need to manually update the JavaScript snippet to include session replay capabilities. This update ensures your application is correctly configured to capture and store replay data. | ||
|
||
To update your agent code: | ||
|
||
1. Go to the <DNT>**Application Settings**</DNT> page and copy the JavaScript snippet. | ||
|
||
<img | ||
title="Copy/paste installation method" | ||
alt="Screenshot of the application settings page." | ||
src="/images/browser_screenshot-full_Application-settings-page.webp" | ||
/> | ||
|
||
2. Paste it in your code where the old snippet was. | ||
|
||
3. Deploy your app. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
--- | ||
title: "Session replay" | ||
metaDescription: "Play back user interactions to debug faster and improve page performance." | ||
freshnessValidatedDate: 2024-12-19 | ||
--- | ||
|
||
## Introduction to session replay | ||
|
||
Session replay captures interactions on your web app and maps other telemetry data to help you understand your user's journeys. Session replay can be used for troubleshooting and improving the end-user experience, such as: | ||
Check notice on line 9 in src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/get-started.mdx GitHub Actions / vale[vale] src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/get-started.mdx#L9
Raw output
|
||
|
||
* **Troubleshooting JavaScript errors**: Troubleshoot the cause of an error by seeing what the user was doing when the error occurred. For example, if an end user receives an error while trying to complete an ecommerce transaction, you can use session replay to see which steps they took and what data they entered before the error occurred. This can help you quickly identify and fix the root cause of the problem. | ||
Check notice on line 11 in src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/get-started.mdx GitHub Actions / vale[vale] src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/get-started.mdx#L11
Raw output
|
||
* **Improving the user experience**: Discover areas of your web app that are causing users frustration. For example, you might see that users are getting lost in your navigation or clicking on buttons that don't do anything. | ||
* **Identifying issues in key user journeys**: Identify areas of your web app that are causing performance problems. For example, if session replay reveals the `/cart/checkout` page is experiencing excessive page load time, you'd prioritize fixing this critical user journey. | ||
Check notice on line 13 in src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/get-started.mdx GitHub Actions / vale[vale] src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/get-started.mdx#L13
Raw output
|
||
|
||
<img | ||
title="Session replay details" | ||
alt="Screenshot of session replay details" | ||
src="/images/browser_screenshot-full_session-replay-details.gif" | ||
/> | ||
|
||
## How session replay works [#how-it-works] | ||
|
||
When a user loads your web page, session replay takes a snapshot of the Document Object Model (DOM), which represents the page's structure and visual elements. To ensure accurate styling information, the browser agent accesses your CSS files. The agent then integrates these styles directly into the replay recording, eliminating the need to reference external CSS files during playback. As the user interacts with the page, a library within the browser agent captures any changes made to the DOM. This captured data is then stored securely in New Relic's database. | ||
Check notice on line 23 in src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/get-started.mdx GitHub Actions / vale[vale] src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/get-started.mdx#L23
Raw output
|
||
|
||
Replays store up to: | ||
|
||
* 4 hours of a user session | ||
* 30 minutes of inactivity | ||
|
||
By default, browser event data is stored 8 days, but actual data retention depends on your account. | ||
Check notice on line 30 in src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/get-started.mdx GitHub Actions / vale[vale] src/content/docs/browser/browser-monitoring/browser-pro-features/session-replay/get-started.mdx#L30
Raw output
|
||
|
||
For more details on session replay, see the following sections: | ||
|
||
* [Data consumption](/docs/browser/browser-monitoring/browser-pro-features/session-replay/additional-information/#data-consumption): View or project data consumption. | ||
* [User privacy and security concerns](/docs/browser/browser-monitoring/browser-pro-features/session-replay/additional-information/#data-security): Learn how we protect your user data and meet privacy requirements. | ||
* [Session replay and your app's performance](/docs/browser/browser-monitoring/browser-pro-features/session-replay/additional-information/#app-performance): Learn how session replay minimizes impact on your app's performance. |
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.
Why is this formatted as code with the copy functionality?
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.
I have updated this information