What is @datadog/browser-rum?
The @datadog/browser-rum package is a Real User Monitoring (RUM) solution provided by Datadog. It allows developers to collect and analyze performance and user behavior data from their web applications in real-time. This data can be used to identify and troubleshoot issues, improve user experience, and monitor application performance.
What are @datadog/browser-rum's main functionalities?
Real User Monitoring
Initializes the RUM SDK to start collecting data from the user's browser, including session replay recording.
import { datadogRum } from '@datadog/browser-rum';
datadogRum.init({
applicationId: 'YOUR_APPLICATION_ID',
clientToken: 'YOUR_CLIENT_TOKEN',
site: 'datadoghq.com',
service:'your-service-name',
// Specify a version number to identify the deployed version of your application in Datadog
version: '1.0.0',
sampleRate: 100,
trackInteractions: true,
});
datadogRum.startSessionReplayRecording();
Custom User Actions
Records custom user actions, such as button clicks, with additional context.
datadogRum.addAction('button_click', { buttonId: 'my-button' });
Logging Errors
Logs errors manually with additional context to help with debugging.
datadogRum.addError(new Error('Something went wrong'), {
context: {
productId: 123
}
});
User Tracking
Sets user information to track user-specific data and associate it with the collected RUM data.
datadogRum.setUser({
id: '1234',
name: 'John Doe',
email: 'john.doe@example.com',
// User-defined attributes
plan_type: 'premium',
});
Other packages similar to @datadog/browser-rum
raygun4js
Raygun4js is a JavaScript SDK for Raygun, providing error tracking and real user monitoring. It captures errors and performance data from the browser, offering a feature set that competes with @datadog/browser-rum, with a focus on error diagnosis and resolution.
RUM Browser Monitoring
Datadog Real User Monitoring (RUM) enables you to visualize and analyze the real-time performance and user journeys of your application's individual users.
See the dedicated datadog documentation for more details.
Usage
To start collecting events, add @datadog/browser-rum
to your package.json
file, then initialize it with:
import { datadogRum } from '@datadog/browser-rum'
datadogRum.init({
applicationId: '<DATADOG_APPLICATION_ID>',
clientToken: '<DATADOG_CLIENT_TOKEN>',
site: '<DATADOG_SITE>',
sessionSampleRate: 100,
sessionReplaySampleRate: 100,
trackResources: true,
trackLongTasks: true,
trackUserInteractions: true,
})
Note: The trackUserInteractions
parameter enables the automatic collection of user clicks in your application. Sensitive and private data contained in your pages may be included to identify the elements interacted with.