{"id":15017948,"url":"https://github.com/datadog/datadog-agent","last_synced_at":"2026-04-08T23:01:16.347Z","repository":{"id":37236434,"uuid":"49970739","full_name":"DataDog/datadog-agent","owner":"DataDog","description":"Main repository for Datadog Agent","archived":false,"fork":false,"pushed_at":"2025-05-13T11:01:12.000Z","size":562178,"stargazers_count":3090,"open_issues_count":1280,"forks_count":1295,"subscribers_count":561,"default_branch":"main","last_synced_at":"2025-05-13T11:04:01.351Z","etag":null,"topics":["apm-agent","apm-instrumentation","datadog","distributed-tracing","go","logging","metrics","monitoring","observability","open-telemetry","otel","profiling","tracing"],"latest_commit_sha":null,"homepage":"https://docs.datadoghq.com/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DataDog.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG-DCA.rst","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":"SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2016-01-19T17:40:41.000Z","updated_at":"2025-05-13T10:42:04.000Z","dependencies_parsed_at":"2023-12-18T19:59:56.944Z","dependency_job_id":"399d5938-57e8-409a-b4df-d82b4ba4a110","html_url":"https://github.com/DataDog/datadog-agent","commit_stats":{"total_commits":21440,"total_committers":635,"mean_commits":33.76377952755905,"dds":0.944169776119403,"last_synced_commit":"b97517a52d4145b6963bd1334481066d7229ac42"},"previous_names":[],"tags_count":30839,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataDog%2Fdatadog-agent","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataDog%2Fdatadog-agent/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataDog%2Fdatadog-agent/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataDog%2Fdatadog-agent/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DataDog","download_url":"https://codeload.github.com/DataDog/datadog-agent/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253929362,"owners_count":21985802,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apm-agent","apm-instrumentation","datadog","distributed-tracing","go","logging","metrics","monitoring","observability","open-telemetry","otel","profiling","tracing"],"created_at":"2024-09-24T19:51:14.260Z","updated_at":"2026-04-02T11:57:37.558Z","avatar_url":"https://github.com/DataDog.png","language":"Go","readme":"# Datadog Agent\n\n[![CircleCI](https://circleci.com/gh/DataDog/datadog-agent/tree/main.svg?style=svg)](https://circleci.com/gh/DataDog/datadog-agent/tree/main)\n[![Windows unit tests](https://github.com/DataDog/datadog-agent/actions/workflows/windows-unittests.yml/badge.svg)](https://github.com/DataDog/datadog-agent/actions/workflows/windows-unittests.yml)\n[![Coverage status](https://codecov.io/github/DataDog/datadog-agent/coverage.svg?branch=main)](https://codecov.io/github/DataDog/datadog-agent?branch=main)\n[![GoDoc](https://godoc.org/github.com/DataDog/datadog-agent?status.svg)](https://godoc.org/github.com/DataDog/datadog-agent)\n[![Go Report Card](https://goreportcard.com/badge/github.com/DataDog/datadog-agent)](https://goreportcard.com/report/github.com/DataDog/datadog-agent)\n\nThe present repository contains the source code of the Datadog Agent version 7 and version 6. Please refer to the [Agent user documentation](https://docs.datadoghq.com/agent/) 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](https://app.datadoghq.com/account/settings/agent/latest?platform=overview)\n\n**Note:** the source code of Datadog Agent v5 is located in the\n[dd-agent](https://github.com/DataDog/dd-agent) repository.\n\n## Documentation\n\nThe general documentation of the project, including instructions for installation\nand development, is located under [the docs directory](docs) of the present repo.\n\n## Getting started\n\nTo build the Agent you need:\n * [Go](https://golang.org/doc/install) 1.23 or later. You'll also need to set your `$GOPATH` and have `$GOPATH/bin` in your path.\n * Python 3.11+ along with development libraries for tooling. You will also need Python 2.7 if you are building the Agent with Python 2 support.\n * Python dependencies. You may install these with `pip install dda`.\n * CMake version 3.15 or later and a C++ compiler\n\n**Note:** you may want to use a python virtual environment to avoid polluting your\n      system-wide python environment with the agent build/dev dependencies. You can\n      create a virtual environment using `virtualenv` and then use the `dda inv agent.build`\n      parameters `--python-home-3=\u003cvenv_path\u003e` to use the virtual environment's\n      interpreter and libraries. By default, this environment is only used for dev dependencies.\n\n**Note:** You may have previously installed `invoke` via brew on MacOS, or `pip` in\n      any other platform. We recommend you use the version pinned in the requirements\n      file for a smooth development/build experience.\n\n**Note:** You can enable auto completion for invoke tasks. Use the command below to add the appropriate line to your `.zshrc` file.\n      `echo \"source \u003c(dda inv --print-completion-script zsh)\" \u003e\u003e ~/.zshrc`\n\nBuilds and tests are orchestrated with `invoke`, type `dda inv --list` on a shell\nto see the available tasks.\n\nTo start working on the Agent, you can build the `main` branch:\n\n1. Checkout the repo: `git clone https://github.com/DataDog/datadog-agent.git $GOPATH/src/github.com/DataDog/datadog-agent`.\n2. cd into the project folder: `cd $GOPATH/src/github.com/DataDog/datadog-agent`.\n3. Install go tools: `dda inv install-tools` (if you have a timeout error, you might need to prepend the `GOPROXY=https://proxy.golang.org,https://goproxy.io,direct` env var to the command).\n4. Create a development `datadog.yaml` configuration file in `dev/dist/datadog.yaml`, containing a valid API key: `api_key: \u003cAPI_KEY\u003e`. 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).\n5. Build the agent with `dda inv agent.build --build-exclude=systemd`.\n\n     You can specify a custom Python location for the agent (useful when using\n     virtualenvs):\n\n       dda inv agent.build \\\n         --python-home-3=$GOPATH/src/github.com/DataDog/datadog-agent/venv3\n\n    Running `dda inv agent.build`:\n\n     * Discards any changes done in `bin/agent/dist`.\n     * Builds the Agent and writes the binary to `bin/agent/agent`.\n     * Copies files from `dev/dist` to `bin/agent/dist`. See `https://github.com/DataDog/datadog-agent/blob/main/dev/dist/README.md` for more information.\n\n     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`.\n\n     Please note that the [trace agent](https://docs.datadoghq.com/tracing/trace_collection/) needs to be built and run separately.\n\n\n\nPlease refer to the [Agent Developer Guide](docs/dev/README.md) for more details. For instructions\non setting up a windows dev environment, refer to [Windows Dev Env](devenv).\n\n## Testing\n\nRun unit tests using `dda inv test`.\n```\ndda inv test --targets=./pkg/aggregator\n```\n\nYou can also use `dda inv linter.go` to run just the go linters.\n```\ndda inv linter.go\n```\n\nWhen testing code that depends on [rtloader](/rtloader), build and install it first.\n```\ndda inv rtloader.make \u0026\u0026 dda inv rtloader.install\ndda inv test --targets=./pkg/collector/python\n```\n\n## Run\n\nYou can run the agent with:\n```\n./bin/agent/agent run -c bin/agent/dist/datadog.yaml\n```\n\nThe file `bin/agent/dist/datadog.yaml` is copied from `dev/dist/datadog.yaml` by `dda inv agent.build` and must contain a valid api key.\n\n### Run a JMX check\nIn order to run a JMX based check locally, you must have:\n1. A copy of a JMXFetch `jar` copied to `dev/dist/jmx/jmxfetch.jar`\n2. `java` available on your `$PATH`\n\nFor detailed instructions, see [JMX checks](./docs/dev/checks/jmxfetch.md)\n\n## Contributing code\n\nYou'll find information and help on how to contribute code to this project under\n[the `docs/dev` directory](docs/dev) of the present repo.\n\n## License\n\nThe Datadog agent user space components are licensed under the\n[Apache License, Version 2.0](LICENSE). The BPF code is licensed\nunder the [General Public License, Version 2.0](pkg/ebpf/c/COPYING).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatadog%2Fdatadog-agent","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdatadog%2Fdatadog-agent","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatadog%2Fdatadog-agent/lists"}