Error Tracking Troubleshooting
If you experience unexpected behavior with Error Tracking, the troubleshooting steps below can help you resolve the issue quickly. If you continue to have trouble, reach out to Datadog support.
Datadog recommends regularly updating to the latest version of the Datadog tracing libraries, mobile SDKs, and web SDKs, as each release contains improvements and fixes.
Errors are not found in Error Tracking
Logs
Make sure the error message has the required attributes, and Error Tracking for Logs is activated.
This example query searches for logs meeting the criteria for inclusion in Error Tracking.
APM
To be processed by Error Tracking, a span must have these attributes:
error.type
error.message
error.stack
Note: The stack must have at least two lines and one meaningful frame (a frame with a function name and a filename in most languages).
Only errors from service entry spans (the uppermost service spans) are processed by Error Tracking. Error Tracking primarily captures unhandled exceptions, and this behavior is in place to avoid capturing errors handled internally by the service.
This example query searches for spans meeting the criteria for inclusion in Error Tracking.
Workarounds for bubbling up child span errors to service entry span
Some tracers provide a way to access the root span and bubble up the error from child to root.
final Span span = GlobalTracer.get().activeSpan();
if (span != null && (span instanceof MutableSpan)) {
MutableSpan localRootSpan = ((MutableSpan) span).getLocalRootSpan();
// do stuff with root span
localRootSpan.setTag("<TAG>", "<VALUE>");
}
context = tracer.get_call_context()
root_span = context.get_current_root_span()
root_span.set_tag('<TAG>', '<VALUE>')
current_root_span = Datadog.tracer.active_root_span
current_root_span.set_tag('<TAG>', '<VALUE>') unless current_root_span.nil?
RUM
Error Tracking only processes errors that are sent with the source set to custom
, source
or report
, and contain a stack trace. Errors sent with any other source (such as console
) or sent from browser extensions are not processed by Error Tracking.
This example query shows RUM errors that meet the criteria for inclusion in Error Tracking.
No error samples found for an issue
All errors are processed, but only retained errors are available in the issue panel as an error sample.
APM
Spans associated with the error need to be retained with a custom retention filter in order for samples of that error to show up in the issue panel.