Skip to content
Go JavaScript C++ Ruby Python C Other
Branch: master
Clone or download
DylanLovesCoffee and sunhay add connection blacklisting (#4039)
* add connection blacklisting

* fix issues and attempt to optimize

* add release note and deps. Also minor format edits

* change ports to a map and create blacklist store

* fix comment

* fix bad test

* refactoring

* support edge cases

* change config name and add edge cases to tests

* refactor tracer statements

* add config unit test and have bad filters log errors

* fix bad formatting
Latest commit 1cd1f26 Aug 23, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci [CircleCI] Add doxygen doc generation step (#4011) Aug 21, 2019
.github Extract and expose CLC runner stats (#3931) Aug 23, 2019
Dockerfiles [omnibus] strip symbols (#3759) Aug 23, 2019
cmd Add python_version to template config file (#4013) Aug 23, 2019
dev/dist Dev Dist Folder (#413) Jul 28, 2017
docs [windows] adds missing system.mem.pagefile.* stats back (#4040) Aug 23, 2019
google-marketplace move GCL test files in right dir (#2074) Jul 27, 2018
omnibus Fix configuration parameter for process & trace so that spaces in the ( Aug 23, 2019
pkg-config [snmp] removing unneeded go-variant (#3164) Mar 26, 2019
pkg add connection blacklisting (#4039) Aug 23, 2019
releasenotes-dca [DCA] Endpoints check revamp (#3704) Jul 8, 2019
releasenotes add connection blacklisting (#4039) Aug 23, 2019
rtloader Add the histogram bucket bridge (#3937) Aug 23, 2019
tasks Add python_version to template config file (#4013) Aug 23, 2019
test [kitchen] Add tests to check that the Agent does start with Python 3 (#… Aug 23, 2019
tools/ebpf s/network-tracer/system-probe (#3508) May 22, 2019
.codecov.yml [codecov] Remove PR comments and github status of project coverage (#… Mar 25, 2019
.editorconfig Add .editorconfig file (#966) Dec 19, 2017
.gitignore [rtloader] Add doxygen config & rtloader.generate-doc invoke task (#3975 Aug 12, 2019
.gitlab-ci.yml [omnibus] strip symbols (#3759) Aug 23, 2019
CHANGELOG-DCA.rst release note DCA 1.3.2 (#3845) Jul 9, 2019
CHANGELOG.rst Update APM notes in CHANGELOG (#3933) Jul 26, 2019 More github template files (#652) Sep 28, 2017
Gopkg.lock Add networkID to process-agent checks (#4038) Aug 20, 2019
Gopkg.toml Add networkID to process-agent checks (#4038) Aug 20, 2019
LICENSE Switch copyright to 2019 (#2853) Jan 4, 2019
LICENSE-3rdparty.csv [rtloader] high-level memory profiling metrics (#3961) Aug 12, 2019
Makefile.trace tasks: add cross-compile task to trace-agent (#3100) Mar 1, 2019
NOTICE Improve systemd configuration and metric names (#3974) Aug 23, 2019 Update documenation following Python3 support in the agent (#4027) Aug 19, 2019 More github template files (#652) Sep 28, 2017
appveyor.yml Upgrading Golang to 1.12.9 (#4026) Aug 16, 2019
bootstrap.json [android] fix android build. Wasn't using pinned version of gomobile (#… Feb 22, 2019
release.json Upgrade jmxfetch (#4056) Aug 22, 2019
requirements.txt Upgrade pyyaml to 5.1 (#3419) May 7, 2019
setpath.bat [windows] run windows agent as non-privileged user (#3117) Mar 18, 2019

Datadog Agent

CircleCI Build status Coverage status GoDoc Go Report Card

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

Note: the source code of Datadog Agent 5 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.11.5 or later. You'll also need to set your $GOPATH and have $GOPATH/bin in your path.
  • Python 2.7 or 3.x along with development libraries.
  • 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

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 parameter --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 master branch:

  1. Checkout the repo: git clone $GOPATH/src/
  2. cd into the project folder: cd $GOPATH/src/
  3. Install project's dependencies: invoke deps. Make sure that $GOPATH/bin is in your $PATH otherwise this step might fail.
  4. Build the rtloader dependency with invoke && invoke rtloader.install. You will need CMake installed and a C++ compiler for this to work. rtloader is in charge of loading and running Python. By default rtloader will be built for Python2, but you can choose which versions of Python you want to support:
    • invoke -p 2 for Python2 only
    • invoke -p 3 for Python3 only
    • invoke -p 2,3 for both Python2 and Python3
  5. Build the agent with invoke --build-exclude=systemd. You can specify a custom Python location for the agent (useful when using virtualenvs): invoke --python-home-2=$GOPATH/src/ --python-home-3=$GOPATH/src/

Please refer to the Agent Developer Guide for more details.


To start the agent type agent run from the bin/agent folder, it will take care of adjusting paths and run the binary in foreground.

You need to provide a valid API key. You can either use the config file or overwrite it with the environment variable like:

DD_API_KEY=12345678990 ./bin/agent/agent run -c bin/agent/dist/datadog.yaml

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.

You can’t perform that action at this time.