You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/en/error_tracking/backend/exception_replay.md
+32-14
Original file line number
Diff line number
Diff line change
@@ -21,7 +21,7 @@ aliases:
21
21
---
22
22
23
23
<divclass="alert alert-info">
24
-
Exception Replay for APM Error Tracking is in Preview
24
+
Exception Replay for APM Error Tracking is generally available for Python, and in Preview for Java, .NET, and PHP.
25
25
</div>
26
26
27
27
## Overview
@@ -41,49 +41,67 @@ Supported languages
41
41
-`dd-trace-dotnet` for .NET
42
42
-`dd-trace-php` for PHP
43
43
44
-
Exception Replay is only available in APM Error Tracking. Error Tracking for Logs and RUM is not supported.
44
+
Exception Replay is only available in APM Error Tracking. Exception Replay on errors sourced from Logs and RUM is not supported.
45
45
46
46
## Setup
47
47
48
48
1. Install or upgrade your Agent to version `7.44.0` or higher.
49
-
2. Ensure that you are using:
49
+
1. Ensure that you are using:
50
50
*`ddtrace` version `1.16.0` or higher.
51
51
*`dd-trace-java` version `1.47.0` or higher.
52
52
*`dd-trace-dotnet` version `2.53.0` or higher.
53
-
4. Set the `DD_EXCEPTION_REPLAY_ENABLED` environment variable to `true` to run your service with Error Tracking Exception Replay enabled.
53
+
*`dd-trace-php` version `1.5.0` or higher.
54
+
1. Set the `DD_EXCEPTION_REPLAY_ENABLED` environment variable to `true` to run your service with Exception Replay enabled.
55
+
1.[Create a logs index][9] and configure it to the desired retention with no sampling.
56
+
* Set the filter to match on the `source:dd_debugger` tag.
57
+
* Ensure that the new index takes precedence over any others with filters that match that tag, because the first match wins.
58
+
59
+
<divclass="alert alert-info">
60
+
**Why do I need a logs index?** When an error occurs and is captured in an APM span, the associated Exception Replay variable snapshots are captured as logs with reference links to the APM span. When you view the error in Error Tracking Explorer, the variable snapshots are fetched from the log data and displayed alongside the stack trace details.
61
+
</div>
54
62
55
63
### Redacting sensitive data
56
64
57
-
After you enable Sensitive Data Scrubbing, by default, variable data linked to specific identifiers deemed sensitive, such as `password` and `accessToken`, is automatically redacted. Enable Sensitive Data Scrubbing rules [in Datadog][7]. See the full [list of redacted identifiers][1].
65
+
After you enable Exception Replay, by default, variable data linked to specific identifiers deemed sensitive, such as `password` and `accessToken`, are [automatically redacted][5]. See the full [list of redacted identifiers][1].
58
66
59
67
You can also scrub variable data for PII by:
60
68
-[Creating custom identifier redaction][2].
61
69
-[Redacting based on specific classes or types][3].
62
-
- Creating a [Sensitive Data Scanner][4] rule and applying it to logs that match the query `dd_source:debugger`.
70
+
- Creating a [Sensitive Data Scanner][4] rule and applying it to logs that match the query `source:dd_debugger`.
63
71
64
-
To learn more about scrubbing variable data, see [Dynamic Instrumentation Sensitive Data Scrubbing][5].
72
+
To learn more about scrubbing variable data, see [Dynamic Instrumentation Sensitive Data Scrubbing][5].
73
+
74
+
<divclass="alert alert-info">
75
+
Note: Enabling Dynamic Instrumentation is NOT a prerequisite for Sensitive Data Scrubbing. Sensitive Data Scrubbing is applied to Exception Replay variable snapshots by default whether or not Dynamic Instrumentation is enabled on that service.
76
+
</div>
65
77
66
78
## Getting started
67
79
68
80
1. Navigate to [**APM** > **Error Tracking**][6].
69
-
2. Click into any Python Error Tracking issue and scroll down to the stack trace component.
70
-
3. Expand stack frames to examine captured variable values.
81
+
2. Click into an Error Tracking issue on a service with Exception Replay enabled.
82
+
3. Scroll down to the stack trace component.
83
+
4. Expand stack frames to examine captured variable values.
71
84
72
85
## Troubleshooting
73
86
74
-
### A specific Python error trace does not have variable values
75
-
To keep the performance overhead of the feature at a minimum, error capturing is rate limited: one error per second includes variable data. If you don't see variable values on a given trace:
87
+
### A specific error trace does not have variable values
88
+
To keep the performance overhead of the feature at a minimum, Exception Replay variable snapshots are rate limited. For a given exception or issue, a variable snapshot is captured at most 1x per hour (per instance or pod). If you don't see variable values on a given trace, try any of these options:
76
89
77
-
1. Click **View Similar Errors**.
78
-
2. Expand the time range selection to find another instance of the exception where variable values were captured.
90
+
- Confirm Exception Replay is enabled on the source service and environment.
91
+
- Click **View Similar Errors**.
92
+
- Expand the time range selection to find another instance of the error where variable values were captured.
93
+
- Use the search query `@error.debug_info_captured:true` in [Error Tracking Explorer][6].
94
+
- Check your [Log Indexes][9] to confirm logs with the tag `source:dd_debugger` have the desired retention and aren't impacted by [Exclusion Filters][8] in other preceding indexes.
0 commit comments