Skip to content

Commit b0fd185

Browse files
authored
Several content updates for accuracy and completeness
1 parent 512a36b commit b0fd185

File tree

1 file changed

+32
-14
lines changed

1 file changed

+32
-14
lines changed

content/en/error_tracking/backend/exception_replay.md

+32-14
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ aliases:
2121
---
2222

2323
<div class="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.
2525
</div>
2626

2727
## Overview
@@ -41,49 +41,67 @@ Supported languages
4141
- `dd-trace-dotnet` for .NET
4242
- `dd-trace-php` for PHP
4343

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.
4545

4646
## Setup
4747

4848
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:
5050
* `ddtrace` version `1.16.0` or higher.
5151
* `dd-trace-java` version `1.47.0` or higher.
5252
* `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+
<div class="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>
5462

5563
### Redacting sensitive data
5664

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].
5866

5967
You can also scrub variable data for PII by:
6068
- [Creating custom identifier redaction][2].
6169
- [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`.
6371

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+
<div class="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>
6577

6678
## Getting started
6779

6880
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.
7184

7285
## Troubleshooting
7386

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:
7689

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.
7995

80-
[1]: https://github.com/DataDog/dd-trace-py/blob/2bd8e73b639af811cee2703198aa9e7e32b2f74e/ddtrace/debugging/_redaction.py
96+
[1]: https://github.com/DataDog/dd-trace-py/blob/main/ddtrace/debugging/_redaction.py
8197
[2]: /dynamic_instrumentation/sensitive-data-scrubbing/#custom-identifier-redaction
8298
[3]: /dynamic_instrumentation/sensitive-data-scrubbing/#redact-based-on-specific-classes-or-types
8399
[4]: /security/sensitive_data_scanner/
84100
[5]: /dynamic_instrumentation/sensitive-data-scrubbing/
85101
[6]: https://app.datadoghq.com/apm/error-tracking
86102
[7]: https://app.datadoghq.com/dynamic-instrumentation/setup
103+
[8]: /logs/log_configuration/indexes/#exclusion-filters
104+
[9]: https://app.datadoghq.com/logs/pipelines/indexes
87105

88106
## Further Reading
89107

0 commit comments

Comments
 (0)