DataDog/datadog-agent
Datadog Agent
The Datadog Agent is the open-source software that runs on customer hosts, containers, and Kubernetes clusters to collect metrics, traces, logs, network data, and security events, then forward them to Datadog. This repository holds the source code of Agent v6 and v7 — the two currently supported major versions — together with the Cluster Agent, the Trace Agent, the System Probe, the Security Agent, the Process Agent, DogStatsD, the Installer, the OpenTelemetry Collector flavor, and several smaller tools that ship alongside the core binary.
What this repository contains
The Datadog Agent is not a single binary. It is a fleet of cooperating processes — most of them written in Go, with eBPF programs in C, a Python check runtime via cgo, the trace agent's protocol buffer definitions, and a small Rust runtime. The same repository builds:
- The core Agent (
cmd/agent/) — collects host metrics, runs Python and Go checks, hosts an HTTP API, and forwards aggregated data to the Datadog backend. - DogStatsD (
cmd/dogstatsd/,comp/dogstatsd/) — a StatsD server that accepts custom application metrics over UDP/UDS/named pipe and ships them to the aggregator. - The Trace Agent (
cmd/trace-agent/,pkg/trace/) — receives APM traces from instrumented applications, samples them, computes RED stats, and forwards both to Datadog. - The System Probe (
cmd/system-probe/,pkg/network/,pkg/ebpf/) — runs as a privileged process and uses eBPF to collect network, USM, kernel, and GPU telemetry. - The Security Agent (
cmd/security-agent/,pkg/security/) — drives Cloud Workload Security (CWS) runtime detections and Cloud Security Posture Management (CSPM) compliance benchmarks. - The Cluster Agent (
cmd/cluster-agent/,pkg/clusteragent/) — provides cluster-level orchestration metrics, External Metrics Provider, admission controller, and cluster checks dispatching for Kubernetes. - The Process Agent (
cmd/process-agent/) — collects process and container metadata. - The Datadog Installer (
cmd/installer/,pkg/fleet/) — manages remote-controlled Agent installation, upgrades, and configuration. - Serverless and OpenTelemetry flavors (
cmd/serverless-init/,cmd/otel-agent/) — variants tailored for serverless runtimes and OTel-based deployments.
For a longer list and per-binary details, see Apps.
Reading guide
| If you are… | Start with |
|---|---|
| New contributor setting up the repo | Getting started |
| Trying to understand the high-level layout | Architecture |
| Looking up a project-specific term | Glossary |
| Working on a specific binary | Apps |
| Working on shared infrastructure | Systems |
| Tracing a feature end-to-end | Features |
| Curious about repo size and history | By the numbers, Lore |
| About to open a PR | How to contribute |
External documentation
The Datadog Agent has long-form documentation outside this wiki:
- User documentation — the polished, customer-facing manual at docs.datadoghq.com.
- Developer documentation — the developer site, generated from
docs/public/. AGENTS.md— repo-wide coding context for AI assistants. Many of its conventions are echoed in this wiki.
License
User-space components are licensed under Apache License 2.0. The eBPF C code under pkg/ebpf/c/ is licensed under GPLv2 because the kernel verifier requires GPL-compatible licenses for many helpers.
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.