Repository navigation
feat(crashtracking): support agentless intake - #10121
Conversation
Overall package sizeSelf size: 8.74 MB Dependency sizes| name | version | self size | total size | |------|---------|-----------|------------| | import-in-the-middle | 3.4.0 | 127.33 kB | 447.04 kB | | opentracing | 0.14.7 | 194.81 kB | 194.81 kB | | dc-polyfill | 0.1.11 | 25.74 kB | 25.74 kB |🤖 This report was automatically generated by heaviest-objects-in-the-universe |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: bbb4f46783
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
BenchmarksBenchmark execution time: 2026-09-03 19:30:11 Comparing candidate commit 6c1cccd in PR branch Found 0 performance improvements and 0 performance regressions! Performance is the same for 2317 metrics, 11 unstable metrics.
|
|
✅ All CI checks and tests passed. 🎉 All green!🧪 All tests passed 🎯 Code Coverage (details) 🔗 Commit SHA: 6c1cccd | Docs | View more details | Give us feedback! |
bbb4f46 to
d152e46
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d152e469a2
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
d152e46 to
9c62c60
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9c62c60db9
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
6632ea6 to
58bd1e4
Compare
There was a problem hiding this comment.
More details
The agentless path sends the API key, site, and intake URLs to the native crash receiver. The agent-backed path keeps its current endpoint and receiver environment.
🤖 Datadog Autotest · Commit 58bd1e4 · What is Autotest? · @DataDog review to ask questions · Any feedback? Reach out in #autotest
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 58bd1e4724
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
The crash receiver runs in a separate process, so agentless delivery must pass its API key, intake selection, proxy settings, and TLS trust explicitly. Caching the validated telemetry URL reduced same-site selection from 705.0 to 7.5 ns/op on Node 22.23.2 and V8 12.4. The benchmark used 500,000 iterations across seven trials and dropped both outliers.
The native HTTP client does not read proxy environment variables, so the Linux direct-intake test never reaches its CONNECT proxy. Use the receiver’s supported intake overrides to test both paths on loopback while preserving DD_SITE validation.
Only libdatadog and integration tests consume the intake overrides, so registering them would create permanent tracer contracts without product demand.
58bd1e4 to
e3d834a
Compare
Local intake URLs exist only for the native integration test. Proxy injection keeps these unsupported receiver overrides out of production.
Runtime-global proxy stubs bypass the module cache during tracer initialization. This splits process-tag state across duplicate modules before the native receiver starts.
Co-authored-by: Roch Devost <roch.devost@datadoghq.com>
Co-authored-by: Roch Devost <roch.devost@datadoghq.com>
Co-authored-by: Roch Devost <roch.devost@datadoghq.com>
Co-authored-by: Roch Devost <roch.devost@datadoghq.com>
# What does this PR do? Enables `libdd-common`'s existing proxy connector for crash report uploads and adds an integration test for direct telemetry and Errors Tracking requests. # Motivation Language tracers pass proxy environment variables to the isolated crash receiver, but `libdd-crashtracker` linked `libdd-common` without its `hyper-proxy` feature. Direct uploads therefore bypassed configured egress proxies. # How to test the change? - `cargo test -p libdd-crashtracker --test proxy direct_crash_requests_use_https_proxy -- --exact` - `cargo test -p libdd-crashtracker --features libdd-crashtracker/generate-unit-test-files -- --test-threads=1` Refs: DataDog/dd-trace-js#10121 Co-authored-by: ruben.bridgewater <ruben.bridgewater@datadoghq.com>
This ports #9884 onto
masterand keeps crash tracking enabled in agentless mode.The native receiver submits telemetry and crash reports directly using
DD_API_KEYandDD_SITE. Agent-backed crash tracking remains unchanged.The conflict resolution preserves
master’s current libdatadog-extras receiver lookup and identity refresh behavior.Refs: #9884