Research
Security News
Malicious npm Package Typosquats react-login-page to Deploy Keylogger
Socket researchers unpack a typosquatting package with malicious code that logs keystrokes and exfiltrates sensitive data to a remote server.
@datadog/browser-rum
Advanced tools
Package description
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.
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',
});
The Elastic APM Real User Monitoring JavaScript agent allows you to monitor the performance of your web applications and identify bottlenecks and issues. It is similar to @datadog/browser-rum in that it collects performance metrics, but it is designed to work within the Elastic APM ecosystem.
New Relic's Browser agent provides a similar set of features for monitoring the performance of web applications, including real user monitoring. It offers insights into the front-end performance and user experience but is tailored to integrate with New Relic's suite of monitoring tools.
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.
Readme
rum
Datadog browser rum library.
import { datadogRum } from '@datadog/browser-rum'
datadogRum.init({
applicationId: 'XXX',
clientToken: 'XXX',
datacenter: 'us',
resourceSampleRate: 100,
sampleRate: 100
})
<script src = 'https://www.datadoghq-browser-agent.com/datadog-rum-us.js'>
<script>
window.DD_RUM.init({
applicationId: 'XXX',
clientToken: 'XXX',
datacenter: 'us',
resourceSampleRate: 100,
sampleRate: 100
});
</script>
Init must be called to start the tracking. Configurable options:
sampleRate
: percentage of sessions to track. Only tracked sessions send rum events.resourceSampleRate
: percentage of tracked sessions with resources collection.datacenter
: defined to which datacenter we'll send collected data ('us' | 'eu')silentMultipleInit
: prevent logging errors while having multiple Initinit(configuration: {
applicationId: string,
clientToken: string,
datacenter?: string,
resourceSampleRate?: number
sampleRate?: number,
silentMultipleInit?: boolean
})
Modify the global context
addRumGlobalContext (key: string, value: any) # add one key-value to the default context
setRumGlobalContext (context: Context) # entirely replace the default context
Add user action
addUserAction (name: string, context: Context)
Types are compatible with TypeScript >= 3.0. For earlier version, you can import js sources and use global variable to avoid any compilation issue:
import '@datadog/browser-rum/bundle/datadog-rum-us';
window.DD_RUM.init({
applicationId: 'XXX',
clientToken: 'XXX',
datacenter: 'us',
resourceSampleRate: 100,
sampleRate: 100
});
FAQs
Unknown package
The npm package @datadog/browser-rum receives a total of 821,820 weekly downloads. As such, @datadog/browser-rum popularity was classified as popular.
We found that @datadog/browser-rum demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers unpack a typosquatting package with malicious code that logs keystrokes and exfiltrates sensitive data to a remote server.
Security News
The JavaScript community has launched the e18e initiative to improve ecosystem performance by cleaning up dependency trees, speeding up critical parts of the ecosystem, and documenting lighter alternatives to established tools.
Product
Socket now supports four distinct alert actions instead of the previous two, and alert triaging allows users to override the actions taken for all individual alerts.