Custom Grouping
Overview
Error Tracking intelligently groups similar errors into issues with a default strategy. By using custom fingerprinting, you can gain full control over the grouping decision and customize the grouping behavior for your Real User Monitoring (RUM)
errors.
Provide an error.fingerprint
attribute that Error Tracking can use to group RUM errors into issues. While the value of the error.fingerprint
attribute does not have any particular format or requirement, the content must be a string.
If error.fingerprint
is provided, the grouping behavior follows these rules:
- Custom grouping takes precedence over the default strategy.
- Custom grouping can be applied only to a subset of your RUM errors and can co-exist with the default strategy.
- The content of
error.fingerprint
is used as-is without any modification. - RUM errors from the same service and with the same
error.fingerprint
attribute are grouped into the same issue. - RUM errors with different
service
attributes are grouped into different issues.
Setup
Custom grouping only needs a RUM error and an error.fingerprint
string attribute.
If you aren’t already collecting RUM events with Datadog, see the RUM documentation to set up Real User Monitoring.
Example
If you’re already sending RUM events, add a new error.fingerprint
attribute to your RUM error event.
Here’s an example for collecting browser errors:
import { datadogRum } from '@datadog/browser-rum';
// Send a custom error with context
const error = new Error('Something went wrong');
datadogRum.addError(error, {
'error.fingerprint': 'my-custom-grouping-material',
});
In this case, my-custom-grouping-material
is used to group these RUM errors into a single
issue in Error Tracking.
Further Reading
Additional helpful documentation, links, and articles: