chore(writer): unify agentless intake to use browser-intake #18537
chore(writer): unify agentless intake to use browser-intake #18537mabdinur wants to merge 16 commits into
Conversation
…ndpoint Switch AgentlessTraceWriter from the deprecated public-trace-http-intake.logs endpoint to browser-intake-*/api/v2/spans. Fix URL construction to correctly handle multi-region DD_SITE values (e.g. us3.datadoghq.com → browser-intake-us3-datadoghq.com). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… test; add release note Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Replace the rpartition URL derivation with an explicit _agentless_intake_url()
function that mirrors the backend if/elif/else routing:
- us3/us5: trace.browser-intake-{region}-datadoghq.com
- ap1/ap2: browser-intake-{region}-datadoghq.com
- default: public-trace-http-intake.logs.{site}
Remove AgentlessTraceWriter.INTAKE_HOST which is no longer meaningful.
Update test expected URLs accordingly.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…n customer impact Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…nt or explicit agentless Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… cases
Switch from substring to startswith("<region>.") matching to guard against
future sites sharing a prefix (e.g. ap1 vs ap10). Add explicit cases for
ddog-gov.com and us2.ddog-gov.com which have no public-trace-http-intake.logs
entry in the intake registry and require browser-intake-* instead.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Munir Abdinur <munir.abdinur@datadoghq.com>
|
Codeowners resolved as |
| ("ap2.datadoghq.com", "https://browser-intake-ap2-datadoghq.com"), | ||
| ("ddog-gov.com", "https://browser-intake-ddog-gov.com"), | ||
| ("us2.ddog-gov.com", "https://browser-intake-us2-ddog-gov.com"), | ||
| ("uk1.datadoghq.com", "https://browser-intake-uk1-datadoghq.com"), |
There was a problem hiding this comment.
can we try a sub.sub.domain.com type example, just to hard code the explicit behavior you are implementing
|
This change is marked for backport to 4.11, but it conflicts with that branch. The command used to test backporting was |
BenchmarksBenchmark execution time: 2026-06-11 05:52:21 Comparing candidate commit 4fdf49a in PR branch Found 0 performance improvements and 1 performance regressions! Performance is the same for 384 metrics, 9 unstable metrics. scenario:span-start
|
ca57646 to
928a776
Compare
928a776 to
4b43489
Compare
…ntake pattern Replaces per-site if/elif chain with a single algorithm: prepend `browser-intake-` to the ddsite, replacing the first dot with a dash for sites that carry a region prefix (2+ dots). Fixes the broken `public-trace-http-intake.logs.*` fallback used for gov sites (that endpoint does not exist there) and removes the inconsistent `trace.` prefix on us3/us5. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
8377359 to
f8c52a4
Compare
Co-authored-by: Munir Abdinur <munir.abdinur@datadoghq.com>
Summary
Migrates all known Datadog sites off legacy trace intake endpoints (
public-trace-http-intake.logs.*,trace.browser-intake-*) to the unifiedbrowser-intake-*pattern. Gets rid of the legacy endpoints.Test plan
Logic is tested across existing tests:
— parametrized fromAGENTLESS_TRACE_INTAKE_URLS`, covers all 8 known sitestest_agentless_intake_url_unknown_site_uses_browser_intake_fallback— verifies fallback URL derivation and warning for unrecognized sites (gov sites, future regions)test_agentless_trace_writer_intake_url— subprocess test verifying end-to-end writer URL for eachDD_SITE