fix: use interfaces.library instead of interfaces.agent in config consistency tests#6670
Draft
fix: use interfaces.library instead of interfaces.agent in config consistency tests#6670
Conversation
Contributor
|
|
…nd IPV6 PHP's libdatadog sidecar buffers traces for up to 5s before sending to the agent (DEFAULT_FLUSH_INTERVAL_MS=5000). The agent then needs its own flush cycle (~10s) to forward to the backend. With the default 5s agent_interface_timeout, the proxy may not capture agent→backend traffic in time, causing interfaces.agent to have no data. This specifically affects PHP in CI's [tracer-release] job where resource pressure makes flush timing worse. Other languages send traces directly from the tracer (no sidecar buffering), so traces reach the agent sooner. Bump to 15s to accommodate: sidecar buffer (5s) + agent flush (~10s). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
fe45fdf to
7d4def3
Compare
…agent interface tests The PHP BGS (background sender) with DD_TRACE_AGENT_FLUSH_AFTER_N_REQUESTS=0 creates a new curl connection per request, overwhelming the proxy/agent with hundreds of individual chunked-transfer HTTP calls in high-volume scenarios (SAMPLING, TRACING_CONFIG_NONDEFAULT). This causes the DD Agent to not flush traces to the backend before the test framework stops it. Enable DD_TRACE_SIDECAR_TRACE_SENDER=true on the apache-mod-8.0 weblog to use the sidecar's shared-memory batched delivery instead. The sidecar is already running on PHP 8.0 for telemetry; this just enables it for traces too. Reverts the agent_interface_timeout increases since they addressed the symptom, not the root cause. Tested locally: TRACING_CONFIG_NONDEFAULT and SAMPLING both pass.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
agent_interface_timeoutfrom 5s to 15s forTRACING_CONFIG_NONDEFAULTandIPV6scenariosRoot cause
PHP's libdatadog sidecar buffers traces for up to 5s before sending to the agent (
DEFAULT_FLUSH_INTERVAL_MS=5000intrace_flusher.rs). The Datadog Agent then needs its own flush cycle (~10s) to forward traces to the backend proxy. With the default 5sagent_interface_timeout, the system-tests proxy doesn't capture agent→backend traffic in time, leavinginterfaces.agentempty.Other languages send traces directly from the tracer to the agent (no sidecar), so traces arrive sooner and the agent has time to flush within the 5s window.
This specifically affects PHP in dd-trace-php's
[tracer-release]CI job, where all 73 scenarios run sequentially in a single 4GB pod, making flush timing more sensitive to resource pressure.Validation
Testing via dd-trace-php branch
maximo/flaky-tests-fixwhich points the[tracer-release]job at this system-tests branch.Test plan
[tracer-release]job on dd-trace-php no longer fails TRACING_CONFIG_NONDEFAULT and IPV6 tests🤖 Generated with Claude Code