mrkeyoor.com_
Fri 04 Sept 18:00 UTC
Dev Toolsevaluationupdated 04 Sept 2026

datadog-agent review

Datadog Agent is the software that runs on hosts and clusters to collect metrics, traces, logs, processes, and security data for the Datadog service. This repository contains the source for Agent versions 6 and 7, including separate binaries for host, cluster, tracing, system, and security work.

trackingstars / 7d
Verdict

Our Datadog Agent run built in 7 seconds, but pytest ended after 8 seconds with 17 passes and 14 collection/setup errors, so the checkout did not earn a clean test result in a plain Python container. Use the released Agent if your organization already buys Datadog and wants its deepest host and cluster integration. Contribute to the source only if you can adopt the dda workflow and test the specific component and operating system you changed.

We ran it

Lab card: what happened when we ran datadog-agentScreenshot of datadog-agent (docs.datadoghq.com)
Install✓ · 53s35 packages · 37 MB
Build✓ · 7s
Tests✗ · 8s17 passed · 0 failed · 14 errors of 31 (pytest)
Known vulns0(pip-audit)
Repo26292 files~2,545,134 lines of source · 230.2 MB · 40 CI workflows · tests dir

Answers from our run

Does datadog-agent build from source?

Dependencies installed in 53 seconds (35 packages), and the build succeeded in 7 seconds. We cloned commit 42143dc into a clean Debian container with 3 CPUs and no project-specific setup.

Do datadog-agent's tests pass?

Yes: 17 of 31 passed when we ran the project's own test command (pytest), with 14 collection errors. Some failures need services or credentials a bare container does not have.

Does datadog-agent have known vulnerabilities in its dependencies?

pip-audit found none in the dependency tree at the time of our run.

Who should not use datadog-agent?

Teams avoiding a hosted observability vendor: the Agent is built to forward telemetry to the Datadog platform and a runnable development configuration needs a Datadog API key.

What are the alternatives to datadog-agent?

OpenTelemetry Collector Contrib, Grafana Alloy, Prometheus Node Exporter. Our Datadog Agent run built in 7 seconds, but pytest ended after 8 seconds with 17 passes and 14 collection/setup errors, so the checkout did not earn a clean test result in a plain Python container.

Setup2/5Python setup is quick; full development needs dda, Docker, and tags
Docs4/5Detailed developer site, though the root README is only a signpost
Community5/53,715 stars with releases, issues, and pull requests active this week
Maturity5/5Agent 7.83.0 ships broad platform and packaging support

Who it’s for

Datadog customers who need the official collector on Linux, Windows, macOS, or Kubernetes.
Contributors changing Agent internals, integrations, packaging, or platform support.
Platform teams that need one vendor-supported route for infrastructure telemetry, APM, logs, and security data.
Engineers prepared to use Datadog's dda development environment and targeted test commands.

Who it’s NOT for

Teams avoiding a hosted observability vendor: the Agent is built to forward telemetry to the Datadog platform and a runnable development configuration needs a Datadog API key.
Contributors expecting ordinary Go commands to describe the build: the repository instructions require dda inv because custom build tags change which source files and features apply.
Developers who cannot run Docker or configure GitHub SSH access: the required setup guide names both as development prerequisites.
Anyone needing one command to validate the whole checkout on a plain Python image: our pytest run stopped with 14 collection/setup errors across task and end-to-end files.
Release engineers who need cross-platform package builds from one host: the distribution guide says Omnibus cannot cross-build and documents different Linux, macOS, and Windows paths.

Setup reality

Our sandbox installed 35 Python packages in 53 seconds and used 37 MB. The measured build step passed in 7 seconds. Pytest exited 1 after 8 seconds: 17 tests passed, 0 failed, and 14 hit collection or setup errors out of 31. Pip-audit reported 0 known vulnerabilities.

A runnable Agent needs a datadog.yaml file with a valid Datadog API key. Source development also expects the dda CLI, Docker, GitHub SSH access, and the repository's component-specific commands. Cloud end-to-end work can provision AWS, GCP, or Azure resources.

The code is mostly Go, while Python Invoke tasks coordinate much of the developer workflow. Custom build tags mean raw Go commands are discouraged. Distribution packages are built for the host operating system, with separate container and host instructions for Linux, macOS, and Windows.

Agent 7 is a family of collectors, not one Go binary

Datadog Agent collects host metrics, traces, logs, processes, container data, and security events, then sends that telemetry to Datadog. The repository contains the main Agent alongside Cluster Agent, DogStatsD, Trace Agent, System Probe, Security Agent, Process Agent, and an OpenTelemetry-based agent. That breadth is the reason to choose it when Datadog is already your destination. It is also why reading the root README tells you very little about changing or building the code.

The checkout we measured had 26,292 files, roughly 2,545,134 lines of source, and occupied 230.2 MB before its installed Python dependencies. Go is the primary language, while Python Invoke tasks drive builds, tests, linting, and release work. Rust, eBPF, Python checks, Bazel, and Omnibus appear in separate parts of the tree. A developer usually works on one component and its build tags rather than treating the repository as a single package.

Datadog's dda wrapper decides which code gets built

The repository instructions explicitly warn against raw go build, go test, go mod tidy, and direct linter commands. Datadog's dda inv tasks compute custom Go build tags and select the correct component path. The documented main binary command is dda inv agent.build --build-exclude=systemd; other targets cover DogStatsD, tracing, the system probe, and the OpenTelemetry agent. Running the wrong command can leave relevant files out of the compilation.

Development setup also requires the dda CLI on PATH, Docker, and an SSH credential registered with GitHub. Datadog recommends its containerized developer environment, followed by dda inv install-tools. This context matters beside our 53-second Python installation: those 35 packages and 37 MB prepared the measured Python ecosystem, but they do not amount to the full multi-language toolchain described by the project.

What happened when we ran it

Our sandbox installed 35 Python packages in 53 seconds. The configured build step succeeded in 7 seconds, with no build error in the supplied result. We used commit 42143dc in an unprivileged Debian container with 3 CPUs, 8 GB of RAM, Python 3.12, and no secrets. Pip-audit found 0 known vulnerabilities in the installed Python packages.

The test command failed with exit code 1 after 8 seconds. Pytest reported 17 passed, 0 failed, and 14 collection or setup errors out of 31. The error list included dynamic-test task modules, a failure parser, a FIPS end-to-end fixture, and two AI prompt logger host tests. The tail does not include exception messages for those errors, so it supports no claim about missing libraries, credentials, or code defects. It says only that collection and setup did not complete in this clean environment.

Fourteen setup errors limit what the green build proves

A successful 7-second build step and a failing pytest collection can both be accurate because this repository has many independent surfaces. The lab result shows that its configured build command ran. It does not show that the Core Agent binary, every Go module, the system probe, distribution packages, or cloud end-to-end suites passed. Datadog's own instructions recommend targeted dda inv test commands and Bazel targets for the relevant packages.

That targeted model is sensible for 2.5 million lines of source, but it places more responsibility on contributors. A change to Kubernetes discovery, Windows process management, or eBPF code needs the matching environment and test path. The repository says end-to-end suites can provision real AWS, GCP, or Azure infrastructure and deliver payloads to a fake intake service. A generic pytest from the root is a diagnostic sample, not the project's whole quality system.

Distribution packages are tied to their build host

Standalone binaries use component-specific dda inv tasks and need a valid API key in datadog.yaml when run. End-user packages add another layer. Omnibus creates .deb or .rpm files on Linux, .msi on Windows, and .dmg on macOS. The distribution guide says it cannot cross-build packages for a different operating system, so release validation has to cover multiple builders.

Linux package work is steered toward a developer container or Datadog build image. Host builds are discouraged because they write under /opt/datadog-agent, may place configuration under /etc, and can overwrite an installed Agent. macOS has no supported development container for this path, while Windows packaging is container-only. These constraints are documented plainly. They still make source-level release work a platform engineering job rather than a casual fork.

Version 7.83.0 and same-day pull requests show active maintenance

GitHub listed 3,715 stars and 687 combined issues and pull requests when fetched. The repository was pushed on September 4, 2026, one day after release 7.83.0. Pull requests updated that same day covered Windows process handling, Agent Data Plane fixes, AIX testing, and end-to-end infrastructure. The dependency dashboard issue was also updated that day. This is a busy maintenance stream, and the combined count should not be mistaken for 687 bugs.

Release 7.83.0 spans Kubernetes, OpenTelemetry, security scanning, cloud authentication, network paths, GPUs, SNMP, and Windows behavior. That scope is useful to Datadog customers because the official Agent integrates more deeply with the service than a generic collector. It also makes the repository a poor choice for teams seeking a small observability daemon they can reshape quickly. For most users, install Datadog's package. Treat this source tree as the place for focused contributions, custom builds, and audits that can afford component-specific validation.

Alternatives

ProjectWhat it isPick it when
OpenTelemetry Collector Contrib gh↗A vendor-neutral telemetry collector with a wide set of receivers and exporters.pick this instead when portable OpenTelemetry pipelines matter more than Datadog-specific host features.
Grafana Alloy gh↗Grafana's OpenTelemetry Collector distribution with programmable pipelines.pick this instead when your observability stack centers on Grafana and Prometheus-compatible backends.
Prometheus Node ExporterA focused Prometheus exporter for machine-level metrics.pick this instead when host metrics are enough and you do not need traces, logs, or Datadog management.

What people are saying

  1. [github-trending] DataDog/datadog-agent

Sources

  1. Datadog Agent repository
  2. Datadog Agent README
  3. Development requirements
  4. Developer environment tutorial
  5. Standalone Agent build guide
  6. Distribution package build guide
  7. Datadog Agent 7.83.0 release

More dev tools reviews

jira-cli · skills · gpui-kit · power-platform-skills · renodx · CyberChef · the whole board →