chore: run ddapm-test-agent in docker #291
Closed
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.
What
This PR changes the setup of
ddapm-test-agent
from running in a python subprocess to a shared docker container.Motivation
I've observed flakiness in integration tests with the following error:
Running the agent using testcontainers should provide a better way to manage the lifecycle of the agent process, so we don't attempt to run the test when the agent is not ready or not running at all.
This change also simplifies the setup as python is no longer required and allows to run tests concurrently using the same agent by configuring the http client used by the tracer to set the
X-Datadog-Test-Session-Token
header for every request.I opened an alternative PR with an very basic implementation of the mock agent in Go that should provide similar benefits, in case we are not interested in the extra features the ddapm-test-agent provides.