Skip to content

[proxy] add DogStatsD UDP forwarding#6835

Open
smola wants to merge 5 commits intomainfrom
smola/proxy-udp
Open

[proxy] add DogStatsD UDP forwarding#6835
smola wants to merge 5 commits intomainfrom
smola/proxy-udp

Conversation

@smola
Copy link
Copy Markdown
Member

@smola smola commented May 1, 2026

Motivation

Avoid forcing a decision on observing either TCP or UDP communication with the agent. We should be able to observe both. This was originally motivated by improvements to the post-setup process relying on arrival of flushed tracing data, which was not available in the RUNTIME_METRICS scenario.

It turns out it also uncovered an issue with a test for runtime metrics default in the DEFAULT scenario. The test was asserting that runtime metrics were not generated. It always passed because there was nothing listening to the DogStatsD UDP port.

Changes

  • Add an UDP forwarder in the proxy, so that it listens to the DogStatsD port and forwards to the real agent.
  • Remove the special case for runtime metrics scenario to not use the proxy.
  • Update the manifests with the issues discovered in the default scenario (cosulted with APM SDK team already, runtime metrics are enabled by default in the v2 version, implemented by some tracers).

Workflow

  1. ⚠️ Create your PR as draft ⚠️
  2. Work on you PR until the CI passes
  3. Mark it as ready for review
    • Test logic is modified? -> Get a review from RFC owner.
    • Framework is modified, or non obvious usage of it -> get a review from R&P team

🚀 Once your PR is reviewed and the CI green, you can merge it!

🛟 #apm-shared-testing 🛟

Reviewer checklist

  • Anything but tests/ or manifests/ is modified ? I have the approval from R&P team
  • A docker base image is modified?
    • the relevant build-XXX-image label is present
  • A scenario is added, removed or renamed?

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 1, 2026

CODEOWNERS have been resolved as:

manifests/dotnet.yml                                                    @DataDog/apm-dotnet @DataDog/asm-dotnet
manifests/golang.yml                                                    @DataDog/dd-trace-go-guild
manifests/java.yml                                                      @DataDog/asm-java @DataDog/apm-java
utils/_context/_scenarios/__init__.py                                   @DataDog/system-tests-core
utils/_context/containers.py                                            @DataDog/system-tests-core
utils/build/build.sh                                                    @DataDog/system-tests-core
utils/proxy/core.py                                                     @DataDog/system-tests-core
utils/proxy/ports.py                                                    @DataDog/system-tests-core

@datadog-datadog-prod-us1
Copy link
Copy Markdown

datadog-datadog-prod-us1 Bot commented May 1, 2026

Tests

🎉 All green!

❄️ No new flaky tests detected
🧪 All tests passed

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: d668cb0 | Docs | Datadog PR Page | Give us feedback!

@smola smola force-pushed the smola/proxy-udp branch 2 times, most recently from e8fe632 to c6f077a Compare May 4, 2026 13:25
@smola smola force-pushed the smola/proxy-udp branch 3 times, most recently from b7f8af5 to 9e284f5 Compare May 4, 2026 19:47
@smola smola force-pushed the smola/proxy-udp branch from b9ff753 to b314c80 Compare May 5, 2026 09:04
@smola smola marked this pull request as ready for review May 5, 2026 11:05
@smola smola requested review from a team as code owners May 5, 2026 11:05
@smola
Copy link
Copy Markdown
Member Author

smola commented May 5, 2026

@codex review

@chatgpt-codex-connector
Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Already looking forward to the next diff.

ℹ️ 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".

Comment thread utils/build/build.sh
--progress=plain \
-f utils/build/docker/proxy.Dockerfile \
-t datadog/system-tests:proxy-v1 \
-t datadog/system-tests:proxy-v2 \
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think you need to update proxy image, the proxy code is mounted at rutime. As long as your using the same dependancies, it's fine

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants