Skip to content

Conversation

@Lewis-E
Copy link
Contributor

@Lewis-E Lewis-E commented Dec 26, 2025

What does this PR do?

  • Adds a NamedPipe BufferReader option to let the datadog-trace-agent use windows specific functionality
  • Mimic existing TCP behavior for the named pipe, using the rust http server Hyper.
  • Uses DD_APM_WINDOWS_PIPE_NAME for config + DD_APM_RECEIVER_PORT is overridden to 0 when pipe name is set
  • The issue of multiple functions is NOT solved by this PR. We need to add a uniqueness factor to the envvar to handle multiple functions in the same plan, similar to the AAS extension GUID usage, but this needs to be handled 1) at the compat layer so it can be distributed to the rust mini-agent and the dogstatsd library from a single source of truth, and 2) we can't modify envvars in java, so we will also need to add another communication method to dogstatsd java envvar handling.

Motivation

  • When multiple functions run in Windows run on the same plan, only one can connect due to port conflicts for trace agent and dogstatsd agent. The Serverless Compatibility Layer should use named pipes in Windows for transport to prevent this issue.

Additional Notes

Describe how to test/QA your changes

  • Add integration test
  • Manual testing in Azure

@Lewis-E Lewis-E force-pushed the lewis/SVLS-6029/trace-agent-named-pipes branch 3 times, most recently from 9113d3e to 15f2863 Compare January 9, 2026 14:49
@Lewis-E Lewis-E force-pushed the lewis/SVLS-6029/trace-agent-named-pipes branch from dd1034e to 1d378cf Compare January 9, 2026 21:23
@Lewis-E Lewis-E marked this pull request as ready for review January 9, 2026 21:42
@Lewis-E Lewis-E requested a review from a team as a code owner January 9, 2026 21:42
@Lewis-E Lewis-E requested review from apiarian-datadog and removed request for a team January 9, 2026 21:42
@Lewis-E Lewis-E changed the title Draft: Add Windows Named Pipes to the Trace Agent Add Windows Named Pipes to the Trace Agent Jan 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants