Configure Your Setup For Browser RUM and Browser RUM & Session Replay Sampling
Overview
When instrumenting a Browser RUM application, set the sample rate for the total amount of user sessions you want to collect and the percentage of user sessions collected that include Browser RUM & Session Replay capabilities.
This guide provides an example of how to customize the amount of Browser RUM & Session Replay sessions you want to collect from the total amount of user sessions in Datadog.
Setup
The sessionReplaySampleRate
parameter is a percentage of sessionSampleRate
.
This feature requires the Datadog Browser SDK v3.0.0+.
The Datadog Browser SDK v4.20.0 introduces the sessionReplaySampleRate
initialization parameter, deprecating the premiumSampleRate
and replaySampleRate
initialization parameter.
The Datadog Browser SDK v5.0.0 introduces two major behavior changes:- Only sessions that have recorded a replay are considered as Browser RUM & Session Replay
- The
sessionReplaySampleRate
initialization parameter default value is 0
. Previous versions of the SDK use 100
.
When a session is created, RUM tracks it as either:
Two initialization parameters are available to control how the session is tracked:
sessionSampleRate
controls the percentage of overall sessions being tracked. It defaults to 100%
, so every session is tracked by default.sessionReplaySampleRate
is applied after the overall sample rate, and controls the percentage of sessions tracked as Browser RUM & Session Replay. From Datadog Browser SDK v5.0.0, it defaults to 0
, so no session is tracked as Browser RUM & Session Replay by default.
To track 100% of your sessions as Browser RUM:
Latest version
datadogRum.init({
....
sessionSampleRate: 100,
sessionReplaySampleRate: 0
});
beforev4.30.0
datadogRum.init({
....
sampleRate: 100,
sessionReplaySampleRate: 0
});
beforev4.20.0
datadogRum.init({
....
sampleRate: 100,
premiumSampleRate: 0
});
beforev4.10.2
datadogRum.init({
....
sampleRate: 100,
replaySampleRate: 0
});
To track 100% of your sessions as Browser RUM & Session Replay:
Latest version
datadogRum.init({
....
sessionSampleRate: 100,
sessionReplaySampleRate: 100
});
beforev4.30.0
datadogRum.init({
....
sampleRate: 100,
sessionReplaySampleRate: 100
});
beforev4.20.0
datadogRum.init({
....
sampleRate: 100,
premiumSampleRate: 100
});
beforev4.10.2
datadogRum.init({
....
sampleRate: 100,
replaySampleRate: 100
});
Use the slider to set the percentage of Browser RUM & Session Replay sessions collected from the percentage of total user sessions collected for your application.
If you set sessionSampleRate
to 60 and sessionReplaySampleRate
to 50, 40% of sessions are dropped, 30% of sessions are collected as Browser RUM, and 30% of sessions are collected as Browser RUM & Session Replay.
Latest version
datadogRum.init({
....
sessionSampleRate: 60,
sessionReplaySampleRate: 50
});
beforev4.30.0
datadogRum.init({
....
sampleRate: 60,
sessionReplaySampleRate: 50
});
beforev4.20.0
datadogRum.init({
....
sampleRate: 60,
premiumSampleRate: 50
});
beforev4.10.2
datadogRum.init({
....
sampleRate: 60,
replaySampleRate: 50
});
From v5.0.0, to track 100% of the sessions that reach a custom state as Browser RUM & Session Replay:
datadogRum.init({
....
sessionSampleRate: 100,
sessionReplaySampleRate: 100,
startSessionReplayRecordingManually: true,
});
// when the custom state is reached
datadogRum.startSessionReplayRecording()
With the use of startSessionReplayRecordingManually: true
, sessions that do not call startSessionReplayRecording()
are considered as Browser RUM.
For more information about tagging and exploring attributes, see Browser Monitoring.
Further reading
Additional helpful documentation, links, and articles: