ddapm-test-agent
Test agent for Datadog APM client libraries
What it is and what it does
The Datadog APM test agent is a mock server that emulates the endpoints of the production Datadog agent, allowing developers to test APM client libraries in isolation without a running Datadog infrastructure. It listens on configurable ports for HTTP traces (8126), OTLP HTTP (4318), and OTLP gRPC (4317), and provides a web UI for inspecting received traces and managing test sessions.
The agent performs trace invariant checks (trace count headers, tracer version headers, content length validation), stores all submitted data for retrieval via API, and supports snapshot testing for characterization-based regression detection. It can proxy requests to a real Datadog agent or forward LLM observability events directly to Datadog. It also records and replays third-party API calls (OpenAI, Azure OpenAI, DeepSeek) for reproducible testing.
Use it for:
- Test Datadog APM client libraries locally without deploying a full Datadog agent or cloud infrastructure.
- Validate trace structure and metadata compliance in integration tests using snapshot testing.
- Record and replay third-party API interactions (OpenAI, Azure OpenAI, DeepSeek) for deterministic LLM observability testing.
- Debug trace payload issues by inspecting received requests and trace trees via the web UI.
- Proxy traces to a real Datadog agent for selective validation while testing client library changes.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Emulates Datadog APM agent endpoints to test Datadog APM client libraries, providing trace validation, snapshot testing, and optional proxying to a real Datadog agent.
Yes. The package is actively maintained, has no known vulnerabilities, and is purpose-built for testing Datadog APM integrations. Install it if you develop or maintain a Datadog APM client library or need to validate trace behavior in CI/CD. The low install friction and permissive license make it a straightforward addition to test infrastructure.
Install
ddapm-test-agent on PyPI
pip
pip install ddapm-test-agentuv
uv add ddapm-test-agentpoetry
poetry add ddapm-test-agentInstalling ddapm-test-agent
Before you install
Low friction installation with a pure Python wheel. Active maintenance with a release on 2026-08-14. Requires 13 runtime dependencies including aiohttp, protobuf, and grpcio, which are standard libraries for HTTP and gRPC services.
License in practice
BSD 3 permissive license allows use in commercial and open-source projects with minimal restrictions, requiring only preservation of copyright and license notices.
Quickstart
pip install ddapm-test-agent
ddapm-test-agent --port=8126 --otlp-http-port=4318 --otlp-grpc-port=4317 --web-ui-port=8080
Binds to 127.0.0.1 by default; pass --host 0.0.0.0 to accept connections from other hosts.
Verify before relying
- Whether the Web UI is production-ready or remains experimental in current releases.
- Performance characteristics when handling high-volume trace payloads or many concurrent sessions.
- Compatibility with APM client libraries beyond the Datadog ecosystem.
Package facts
| License | BSD 3 (permissive) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 13 — aiohttp, ddsketch, msgpack, requests, typing_extensions, yarl, requests-aws4auth, jinja2, pyyaml, opentelemetry-proto, protobuf, grpcio, pywin32 |
| Maintenance | actively maintained — 0 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 3,346,621/month — #2,653 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: ddapm_test_agent-1.65.0-py3-none-any.whl
Tags
More Testing packages
Pluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
virtualenvvirtualenv creates isolated Python environments…
permissive · top 100 on PyPI
coverageCoverage.py measures which lines of Python code…
permissive · top 1,000 on PyPI
pytest-asynciopytest-asyncio is a pytest plugin that enables…
permissive · top 1,000 on PyPI
pytest-json-ctrfA pytest plugin that generates test reports in…
permissive · top 1,000 on PyPI
datadog-checks-baseProvides the Python base classes and utilities…
permissive · top 15,000 on PyPI
ddadda is a command-line tool for developing on…
permissive · top 15,000 on PyPI
ddtraceddtrace instruments Python applications to send…
permissive · top 1,000 on PyPI
scout-apmScout APM is a Python application performance…
permissive · top 15,000 on PyPI
claude-tapclaude-tap is a local proxy and trace viewer…
permissive · top 15,000 on PyPI
apm-cliAPM is a dependency manager and configuration…
permissive · top 15,000 on PyPI
opentelemetry-instrumentation-openai-agentsAdds distributed tracing to OpenAI Agents…
permissive · top 5,000 on PyPI
elastic-apmElastic APM is the official Python agent for…
permissive · top 5,000 on PyPI
google-python-cloud-debuggerAttaches a snapshot debugger agent to Python…
permissive · top 15,000 on PyPI
openinference-instrumentation-claude-agent-sdkAuto-instruments Claude Agent SDK calls to emit…
permissive · top 15,000 on PyPI