Datadog Agent

Main repository for Datadog Agent
Alternatives To Datadog Agent
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Datadog Agent2,39630010 hours ago212November 30, 20231,124apache-2.0Go
Main repository for Datadog Agent
Dd Sdk Ios151
14 hours ago60November 14, 202344apache-2.0Swift
Datadog SDK for iOS - Swift and Objective-C.
1a month ago15May 10, 202211mpl-2.0Python
Markus is a Python library for generating metrics
5 months agomitPascal
DataLogger foi projetado para ser uma biblioteca simples de log com suporte a vários providers.
Escriba38423 months ago22September 18, 20239mitJavaScript
:scroll: Logging on steroids
Pino Datadog288a year ago16February 25, 20213mitJavaScript
🌲A transport for pino that sends messages to DataDog
Django Datadog Logger19
4 months ago10October 20, 20214mitPython
Gke Datadog Demo15
4 years ago4apache-2.0Shell
This project demonstrates how a third party solution, like Datadog, can be used to monitor a Kubernetes Engine cluster and its workloads. Using the provided manifest, you will install Datadog and a simple nginx workload into your cluster. The Datadog agents will be configured to monitor the nginx workload, and ship metrics to your own Datadog account.
Pino Datadog Transport125a month ago11November 01, 20233mitTypeScript
A pino v7+ transport for sending logs to Datadog
Datadog Logger12116 months ago4June 12, 20231mitPython
Handler for sending Python logging messages to DataDog as Events
Alternatives To Datadog Agent
Select To Compare

Alternative Project Comparisons

Datadog Agent

CircleCI Windows unit tests Coverage status GoDoc Go Report Card

The present repository contains the source code of the Datadog Agent version 7 and version 6. Please refer to the Agent user documentation for information about differences between Agent v5, Agent v6 and Agent v7. Additionally, we provide a list of prepackaged binaries for an easy install process here

Note: the source code of Datadog Agent v5 is located in the dd-agent repository.


The general documentation of the project, including instructions for installation and development, is located under the docs directory of the present repo.

Getting started

To build the Agent you need:

  • Go 1.20 or later. You'll also need to set your $GOPATH and have $GOPATH/bin in your path.
  • Python 3.7+ along with development libraries for tooling. You will also need Python 2.7 if you are building the Agent with Python 2 support.
  • Python dependencies. You may install these with pip install -r requirements.txt This will also pull in Invoke if not yet installed.
  • CMake version 3.12 or later and a C++ compiler

Note: you may want to use a python virtual environment to avoid polluting your system-wide python environment with the agent build/dev dependencies. You can create a virtual environment using virtualenv and then use the invoke parameters --python-home-2=<venv_path> and/or --python-home-3=<venv_path> (depending on the python versions you are using) to use the virtual environment's interpreter and libraries. By default, this environment is only used for dev dependencies listed in requirements.txt.

Note: You may have previously installed invoke via brew on MacOS, or pip in any other platform. We recommend you use the version pinned in the requirements file for a smooth development/build experience.

Builds and tests are orchestrated with invoke, type invoke --list on a shell to see the available tasks.

To start working on the Agent, you can build the main branch:

  1. Checkout the repo: git clone $GOPATH/src/

  2. cd into the project folder: cd $GOPATH/src/

  3. Install go tools: invoke install-tools (if you have a timeout error, you might need to prepend the GOPROXY=,,direct env var to the command).

  4. Create a development datadog.yaml configuration file in dev/dist/datadog.yaml, containing a valid API key: api_key: <API_KEY>. You can either start with an empty one or use the full one generated by the Agent build from Step 5 (located in cmd/agent/dist/datadog.yaml after the build finishes).

  5. Build the agent with invoke --build-exclude=systemd.

    By default, the Agent will be built to use Python 3 but you can select which Python version you want to use:

    • invoke --python-runtimes 2 for Python2 only
    • invoke --python-runtimes 3 for Python3 only
    • invoke --python-runtimes 2,3 for both Python2 and Python3

    You can specify a custom Python location for the agent (useful when using virtualenvs):

    invoke \
      --python-runtimes 2,3 \
      --python-home-2=$GOPATH/src/ \

    Running invoke

    • Discards any changes done in bin/agent/dist.
    • Builds the Agent and writes the binary to bin/agent/agent.
    • Copies files from dev/dist to bin/agent/dist. See for more information.

    If you built an older version of the agent, you may have the error make: *** No targets specified and no makefile found. Stop.. To solve the issue, you should remove CMakeCache.txt from rtloader folder with rm rtloader/CMakeCache.txt.

    Please note that the trace agent needs to be built and run separately.

Please refer to the Agent Developer Guide for more details. For instructions on setting up a windows dev environment, refer to Windows Dev Env.


Run unit tests using invoke test.

invoke test --targets=./pkg/aggregator

You can also use invoke lint-go to run just the go linters.

invoke lint-go

When testing code that depends on rtloader, build and install it first.

invoke rtloader.make && invoke rtloader.install
invoke test --targets=./pkg/collector/python


You can run the agent with:

./bin/agent/agent run -c bin/agent/dist/datadog.yaml

The file bin/agent/dist/datadog.yaml is copied from dev/dist/datadog.yaml by invoke and must contain a valid api key.

Run a JMX check

In order to run a JMX based check locally, you must have:

  1. A copy of a JMXFetch jar copied to dev/dist/jmx/jmxfetch.jar
  2. java available on your $PATH

For detailed instructions, see JMX checks

Contributing code

You'll find information and help on how to contribute code to this project under the docs/dev directory of the present repo.


The Datadog agent user space components are licensed under the Apache License, Version 2.0. The BPF code is licensed under the General Public License, Version 2.0.

Popular Datadog Projects
Popular Logger Projects
Popular Operations Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Distributed Tracing