Repository navigation
[FeatureFlags] Add agentless EVP fallback transport - #9138
leoromanovsky wants to merge 1 commit into
Conversation
Environment: Datadog workspace
Execution-Time Benchmarks Report ⏱️Execution-time results for samples comparing This PR (9138) and master. ✅ No regressions detected |
BenchmarksBenchmark execution time: 2026-08-27 08:52:47 Comparing candidate commit 33cc83c in PR branch Found 3 performance improvements and 0 performance regressions! Performance is the same for 69 metrics, 0 unstable metrics, 64 known flaky benchmarks, 62 flaky benchmarks without significant changes.
|
Motivation
The .NET exposure writer currently sends every batch through the fixed Agent path
/evp_proxy/v2/api/v2/exposures. In an agentless deployment without a compatible local EVP proxy, the batch hasno authenticated route to direct intake even when
DD_API_KEYandDD_SITEare configured.flowchart LR A["Exposure batch"] --> B["Agent /evp_proxy/v2"] B -->|Route available| C["event-platform-intake"] B -->|Route missing or unavailable| D["Exposure not delivered"]This PR adds fallback delivery for
POST /api/v2/exposures.Linear: FFL-1486
Changes
ExposureApi's fixed Agent-v2 request path withFeatureFlagsEvpTransport./inforesponse before selecting the exposure route.produce a valid
event-platform-intake.<site>HTTPS endpoint.DD-API-KEYand disabled redirects.redirects, and rejected site values.
Agentless exposure route selection:
flowchart TD A["First exposure flush"] --> B{"Initial Agent /info result"} B -->|EVP v4 advertised| C["Local /evp_proxy/v4/api/v2/exposures"] B -->|EVP v2 advertised| D["Local /evp_proxy/v2/api/v2/exposures"] B -->|No compatible route or 5 s timeout| E{"Valid API key and site?"} E -->|Yes| F["Direct event-platform-intake.<site>/api/v2/exposures"] E -->|No| G["Warn once; exposure delivery unavailable"]Local-route failure behavior:
Decisions
later batches to direct intake.
Validation
./tracer/build.sh Restore CompileManagedSrc: passed across the managed target frameworks../tracer/build.sh DownloadLibDatadog CopyLibDatadog: passed../tracer/build.sh BuildNativeTracerHome: passed.Datadog.Trace.Tests.FeatureFlags.FeatureFlagsEvpTransportTestsrun onnet6.0: 45 passed, 0 failed.