Skip to content

(feat): Exception Replay endpoint #675

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
May 15, 2025

Conversation

nhulston
Copy link
Contributor

@nhulston nhulston commented May 14, 2025

What

Implement the Exception Replay endpoint. This ports over the endpoint from datadog-agent: https://github.com/DataDog/datadog-agent/blob/ca681197f983c9d6b508e4b40d4526bb9a02c4ce/pkg/trace/api/endpoints.go#L140-L143

Exception Replay is a tracer feature that allows users to see local variables in the Datadog UI, kind of like a in a debugger in an IDE.

Exception replay can be enabled in the tracer with the DD_EXCEPTION_REPLAY_ENABLED=true environment variable. Currently, it's only supported in Python (in Lambda), but will be coming to Java and .NET very soon. Node will follow after.

Testing

Manual testing:
Screenshot 2025-05-14 at 4 31 01 PM

Notes

  • This is the only change needed in the lambda extension; any other changes to support Java or .NET will take place in dd-trace-java and dd-trace-dotnet respectively.
  • Variables are sent only once per hour for each Exception (this timer resets if a cold start occurs in Lambda)
    https://datadoghq.atlassian.net/browse/SVLS-6837

@nhulston nhulston marked this pull request as ready for review May 14, 2025 20:40
@nhulston nhulston requested a review from a team as a code owner May 14, 2025 20:40
@nhulston nhulston merged commit cc9602e into main May 15, 2025
45 checks passed
@nhulston nhulston deleted the nicholas.hulston/exception-replay-endpoint branch May 15, 2025 12:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants