DataDog/datadog-agent
Components overview
A walkthrough of the bundles in comp/. New code is expected to live here. The framework itself is documented in Systems: Components framework; this page is the catalog.
The auto-generated comp/README.md is the canonical, always-up-to-date index — it is regenerated by dda inv collector.generate from package docstrings. This page summarizes the major bundles.
Foundation bundles
| Bundle | Purpose |
|---|---|
comp/core |
The "everyone needs this" bundle. Config, log, secrets, hostname, IPC, status, flare, healthprobe, tagger, workloadmeta, autodiscovery, agent telemetry. |
comp/api |
The Agent's HTTP and gRPC API server. |
comp/def |
Shared component-framework primitives (lifecycle interfaces, etc.). |
comp/core is the largest bundle in the repository and includes most "infrastructure" components. Everything in it has been migrated from a legacy pkg/ location at some point.
Data-plane bundles
| Bundle | Purpose |
|---|---|
comp/aggregator |
Demultiplexer (the entrypoint to the aggregator). |
comp/collector |
Check runtime (delegates to pkg/collector). |
comp/serializer |
Payload serializers (metrics, sketches, logs, events). |
comp/forwarder |
HTTP forwarder, event-platform forwarder, orchestrator forwarder, connections forwarder. |
comp/dogstatsd |
DogStatsD listeners and packet pipeline. |
comp/logs |
Logs agent, audit, integration glue. |
comp/logs-library |
Subset of the logs pipeline reusable outside the agent. |
comp/trace |
Embedded trace agent (the in-process variant). |
comp/trace-telemetry |
Trace-agent self-telemetry. |
comp/process |
Process Agent core. |
These bundles are where the Agent's day-to-day pipelines live (or the wrappers around them, in the cases that still delegate to pkg/).
Metadata, telemetry, and status
| Bundle | Purpose |
|---|---|
comp/metadata |
Inventory of agent, checks, integrations, host, GPU, container metadata. |
comp/agent |
The "agent agent" bundle that owns auto-exit, expvar server, and JMX logger. |
comp/dataobs |
Data observability (query actions). |
comp/fleetstatus |
Fleet Automation status. |
Network and infrastructure monitoring
| Bundle | Purpose |
|---|---|
comp/snmpscan, comp/snmpscanmanager |
SNMP scanning. |
comp/snmptraps |
SNMP trap reception. |
comp/networkdeviceconfig |
Network device configuration backups. |
comp/netflow |
NetFlow ingestion. |
comp/networkpath |
Network Path (traceroute) component. |
comp/ndmtmp |
NDM trap & metric forwarding. |
comp/rdnsquerier |
Reverse DNS query helper. |
comp/connectivitychecker |
Datadog connectivity self-tests. |
Security, autoscaling, HA, OTel
| Bundle | Purpose |
|---|---|
comp/checks |
Component-based checks (Windows event log, agent crash detect, win registry). |
comp/autoscaling |
Cluster Agent autoscaling. |
comp/haagent |
High-availability Agent. |
comp/otelcol |
OTel Collector flavor and converter. |
comp/etw |
Windows ETW helpers. |
comp/filterlist |
Filter list maintenance. |
comp/healthplatform |
Health Platform integration. |
comp/host-profiler |
Host profiler component. |
comp/languagedetection |
Workload language detection. |
comp/logonduration |
Logon duration metrics (Windows). |
comp/notableevents |
Notable events ingestion. |
comp/offlinereporter |
Offline / disk-buffered reporting. |
comp/publishermetadatacache |
Publisher metadata cache. |
comp/remote-config |
Remote Config client and service. |
comp/softwareinventory |
Software inventory tracking. |
comp/syntheticstestscheduler |
Synthetics test scheduler. |
comp/systray |
Windows system tray. |
comp/updater |
Agent self-update. |
comp/workloadselection |
Workload selection. |
comp/privateactionrunner |
Private action runner. |
Dev / glue bundles
| Bundle | Purpose |
|---|---|
comp/agent |
Auto-exit, expvar server, jmxlogger. |
comp/serializer/logscompression, comp/serializer/metricscompression |
Compression algorithms. |
Naming patterns
Components inside a bundle typically follow this layout:
comp/<bundle>/<component>/
├── def/ # Interface
├── impl/ # Production implementation
├── fx/ # Fx wiring
└── mock/ # Test mockSome components have multiple implementations:
impl-none/fx-noopfor stripped builds.impl-mrffor Multi-Region Failover variants.impl-windows/fx-windowsfor OS-specific implementations.
How to use this catalog
When working on a feature, start by finding the relevant bundle. comp/README.md (the auto-generated one in the repo, not this wiki) lists every component with a one-line description and the team that owns it. Use it as the source of truth; this page is a higher-level orientation.
Related pages
- Systems: Components framework — how the framework works.
- Apps: Agent — the canonical consumer of most bundles.
- Patterns and conventions — how to write a new component.
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.