Configuration

General Integration Configuration

The following options can be configured on the root level of your browser-based Sentry SDK, in init({}):

KeyTypeDefaultDescription
replaysSessionSampleRatenumber0The sample rate for replays that begin recording immediately and last the entirety of the user's session. 1.0 collects all replays, and 0 collects none.
replaysOnErrorSampleRatenumber0The sample rate for replays that are recorded when an error happens. This type of replay will record up to a minute of events prior to the error and continue recording until the session ends. 1.0 captures all sessions with an error, and 0 captures none.

The following can be configured as integration options in new Replay({}):

KeyTypeDefaultDescription
stickySessionbooleantrueKeep track of users across page loads. Note, because closing a tab ends the session, a single user using multiple tabs will be recorded as multiple sessions.
networkDetailAllowUrls(string | RegExp)[][]Capture request and response details for XHR and fetch requests that match the given URLs.
networkCaptureBodiesbooleantrueDecide whether to capture request and response bodies for URLs defined in networkDetailAllowUrls.
networkRequestHeadersstring[][]Capture request headers for URLs defined in networkDetailAllowUrls. See Network Details to learn more.
networkResponseHeadersstring[][]Capture response headers for URLs defined in networkDetailAllowUrls. See Network Details to learn more.

Sampling

To learn more about how session sampling works, check out our Default Session Initialization docs.

Network Details

By default, Replay will capture basic information about all outgoing fetch and XHR requests in your application. This includes the URL, request and response body size, method, and status code. The intention is to limit the chance of collecting private data.

To capture additional information such as request and response headers or bodies, you'll need to opt-in via networkDetailAllowUrls. This will make it possible for you to elect to only add URLs that are safe for capturing bodies and avoid any endpoints that may contain Personal Identifiable Information, (PII).

Any URL matching the given pattern(s) will then be captured with additional details:

Copied
new Replay({
  networkDetailAllowUrls: ["https://my-website.com/api"],
});

If you give us a string, we'll match any URL that contains that string. You can use a regex to handle exact or more complex matches.

Requests to a URL matched by the configured patterns will be enhanced with the request and response body, as well as the following default headers:

  • content-type
  • content-length
  • accept

If you want to capture additional headers, you'll have to configure them with the options networkRequestHeaders and networkResponseHeaders, for example:

Copied
new Replay({
  networkDetailAllowUrls: ["https://my-website.com/api"],
  networkRequestHeaders: ["Cache-Control"],
  networkResponseHeaders: ["Referrer-Policy"],
});

Identifying Users

You can use the Sentry SDK to link a user to a session. Read more about it in our docs.

Copied
Sentry.setUser({ email: "jane.doe@example.com" });

Privacy

We take privacy seriously, so we provide a number of privacy-oriented settings. Learn more about these in our our Session Replay privacy documentation.

Help improve this content
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").