Make Sense of Application Issues With Datadog Error Tracking | Datadog

Make sense of application issues with Datadog Error Tracking

Author Paul Gottschling

Published: August 11, 2020

When your applications raise errors, you need a way to make sense of them so you can set priorities, start troubleshooting, and gauge the success of your efforts. Errors can appear within the thousands of browser sessions and backend hosts running your software, making it difficult to find meaning within the noise. This is especially true of frontend errors, where seemingly endless permutations of browser version, location, and other environmental details can make it hard to spot trends.

We are pleased to announce that Datadog Error Tracking is now available for frontend JavaScript, with support for additional languages coming soon. Error Tracking enables you to reason about errors at a higher level—and investigate more effectively—by automatically grouping application errors into issues. By tracking issues alongside individual error events, you can get the context you need for root cause analysis—and reduce your mean time to resolution. Error Tracking builds on the data you’re already monitoring with Datadog, so you can start using it with no additional setup.

From errors to issues

When Datadog first receives an error event from Real User Monitoring (RUM), it creates a new issue. It then uses the issue to group subsequent errors that have similar messages and stack traces. Condensing errors into a single issue helps you triage tasks, summarize problems for colleagues, and otherwise maintain a clearer understanding of the work ahead of you. Error Tracking can also apply metadata to an issue, such as when its errors occurred, giving you more context than if you were to investigate the errors separately. Datadog can also notify your team whenever it identifies a new issue, giving you confidence that your triage plans are up to date.

Error Tracking extracts error messages from RUM data, so there’s no need to configure an SDK or modify your application code. In the first release, Error Tracking processes RUM data to surface browser-based JavaScript errors. Plans are in place to pull errors from distributed tracing and APM spans, log messages, and mobile RUM data, enabling you to track errors across your applications.

Know what to fix first—and how to fix it

Error Tracking enables you to get more context around any issue for smarter triaging and faster investigations. The Error Tracking Explorer view shows a list of issues that Datadog has detected, along with important aggregates like each issue’s total error count and frequency over time.

When you suspect that application errors are impacting users—e.g., you see a decline in certain user actions in the RUM Explorer—you can filter the Error Tracking Explorer by time range or facets such as service, environment, and application version to quickly identify a specific issue to investigate first. For example, if you know that customers using a particular version of a service have encountered problems, you can drill down to issues affecting that version of the service.

errors-view.png

If you click on an issue within the Error Tracking Explorer, you’ll see helpful metadata within an Issue Panel. A timeseries graph shows the frequency of errors within the issue, which both indicates how serious the issue is and helps you correlate the issue’s occurrence with other events (such as a recent deployment).

issue-panel.png

For example, if you’re investigating an issue with a JavaScript feature that is unsupported in certain browser versions (e.g., lookbehinds), you can consult the Issue Panel to inspect the “first seen” time of the issue. You can then examine the error frequency graph to determine whether you should troubleshoot immediately—e.g., if errors have increased since the first occurrence—or plan to do so later.

When it comes time to investigate, you can view the source code that caused the error, making it straightforward to find and revert the relevant git commit. Afterward, you can keep tabs on the Error Tracking Explorer to see if the original issue is still occurring—or if other issues cropped up instead.

More revealing stack traces

Production applications often return minified JavaScript to browsers in order to reduce load times. But since minified code exists on a single line, it can make stack traces unhelpful. Even if you do manage to locate the cause of the error from the stack trace, you’ll need to find the corresponding lines within your JavaScript source files. Datadog Error Tracking automatically reverses the minification process for JavaScript stack traces, making it easier to understand the changes you should make to your source code to resolve an issue.

unminify.png

Error Tracking unminifies your code by using source maps, which indicate where segments of the minified code appear in the original source. Datadog makes it easy to upload source maps using the datadog-ci binary, which we designed to run inside continuous integration environments. Run the datadog-ci sourcemaps upload command to send the contents of your source map directory to Datadog automatically at build time. You’ll then be able to see unminified source code within the Issue Panel.

To err is human; to track is canine

Datadog Error Tracking gives you actionable insights into your application errors, making it easier to troubleshoot the issues that affect your users most. If you’re using RUM, Error Tracking will start working right away. Error Tracking is just one way of getting comprehensive visibility into your applications. You can also set up Log Management, APM, and Synthetic Monitoring. And to get deep visibility into the resource utilization of your code, you can set up Datadog Profiling, which can run continuously—even in production. If you’re thinking about getting started with Datadog, sign up for a .