datadog-agent

module
v0.0.0-...-c701cf6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 23, 2024 License: Apache-2.0

README

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.

Documentation

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.21 or later. You'll also need to set your $GOPATH and have $GOPATH/bin in your path.
  • Python 3.9+ 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 agent.build 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.

Note: You can enable auto completion for invoke tasks. Use the command below to add the appropriate line to your .zshrc file. echo "source <(inv --print-completion-script zsh)" >> ~/.zshrc

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 https://github.com/DataDog/datadog-agent.git $GOPATH/src/github.com/DataDog/datadog-agent.

  2. cd into the project folder: cd $GOPATH/src/github.com/DataDog/datadog-agent.

  3. Install go tools: invoke 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).

  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 agent.build --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 agent.build --python-runtimes 2 for Python2 only
    • invoke agent.build --python-runtimes 3 for Python3 only
    • invoke agent.build --python-runtimes 2,3 for both Python2 and Python3

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

    invoke agent.build \
      --python-runtimes 2,3 \
      --python-home-2=$GOPATH/src/github.com/DataDog/datadog-agent/venv2 \
      --python-home-3=$GOPATH/src/github.com/DataDog/datadog-agent/venv3
    

    Running invoke agent.build:

    • 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 https://github.com/DataDog/datadog-agent/blob/main/dev/dist/README.md 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.

Testing

Run unit tests using invoke test.

invoke test --targets=./pkg/aggregator

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

invoke linter.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

Run

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 agent.build 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.

License

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.

Directories

Path Synopsis
cmd
agent
The Datadog Agent faithfully collects events and metrics and brings them to Datadog on your behalf.
The Datadog Agent faithfully collects events and metrics and brings them to Datadog on your behalf.
agent/command
Package command implements the top-level `agent` binary, including its subcommands.
Package command implements the top-level `agent` binary, including its subcommands.
agent/common
Package common provides a set of common symbols needed by different packages, to avoid circular dependencies.
Package common provides a set of common symbols needed by different packages, to avoid circular dependencies.
agent/common/misconfig
Package misconfig implements misconfiguration related types and functions
Package misconfig implements misconfiguration related types and functions
agent/common/signals
Package signals defines global agent signal channels
Package signals defines global agent signal channels
agent/subcommands
Package subcommands defines the agent subcommands.
Package subcommands defines the agent subcommands.
agent/subcommands/check
Package check implements 'agent check'.
Package check implements 'agent check'.
agent/subcommands/config
Package config implements 'agent config'.
Package config implements 'agent config'.
agent/subcommands/configcheck
Package configcheck implements 'agent configcheck'.
Package configcheck implements 'agent configcheck'.
agent/subcommands/controlsvc
Package controlsvc implements 'agent start-service', 'agent stopservice', and 'agent restart-service'.
Package controlsvc implements 'agent start-service', 'agent stopservice', and 'agent restart-service'.
agent/subcommands/diagnose
Package diagnose implements 'agent diagnose'.
Package diagnose implements 'agent diagnose'.
agent/subcommands/dogstatsd
Package dogstatsd contains "agent dogstatsd" subcommands
Package dogstatsd contains "agent dogstatsd" subcommands
agent/subcommands/dogstatsdcapture
Package dogstatsdcapture implements 'agent dogstasd-capture'.
Package dogstatsdcapture implements 'agent dogstasd-capture'.
agent/subcommands/dogstatsdreplay
Package dogstatsdreplay implements 'agent dogstatsd-replay'.
Package dogstatsdreplay implements 'agent dogstatsd-replay'.
agent/subcommands/dogstatsdstats
Package dogstatsdstats implements 'agent dogstatsd-stats'.
Package dogstatsdstats implements 'agent dogstatsd-stats'.
agent/subcommands/flare
Package flare implements 'agent flare'.
Package flare implements 'agent flare'.
agent/subcommands/health
Package health implements 'agent health'.
Package health implements 'agent health'.
agent/subcommands/hostname
Package hostname implements 'agent hostname'.
Package hostname implements 'agent hostname'.
agent/subcommands/import
Package cmdimport implements 'agent import'.
Package cmdimport implements 'agent import'.
agent/subcommands/integrations
Package integrations implements 'agent integration'.
Package integrations implements 'agent integration'.
agent/subcommands/jmx
Package jmx implements 'agent jmx'.
Package jmx implements 'agent jmx'.
agent/subcommands/launchgui
Package launchgui implements 'agent launch-gui'.
Package launchgui implements 'agent launch-gui'.
agent/subcommands/remoteconfig
Package remoteconfig implements 'agent remote-config'.
Package remoteconfig implements 'agent remote-config'.
agent/subcommands/run
Package run implements 'agent run' (and deprecated 'agent start').
Package run implements 'agent run' (and deprecated 'agent start').
agent/subcommands/run/internal/clcrunnerapi
Package clcrunnerapi implements the clc runner IPC api.
Package clcrunnerapi implements the clc runner IPC api.
agent/subcommands/run/internal/clcrunnerapi/v1
Package v1 implements the api endpoints for the `/api/v1` prefix.
Package v1 implements the api endpoints for the `/api/v1` prefix.
agent/subcommands/run/internal/settings
Package settings contains the runtime settings for the agent
Package settings contains the runtime settings for the agent
agent/subcommands/secret
Package secret implements 'agent secret'.
Package secret implements 'agent secret'.
agent/subcommands/secrethelper
Package secrethelper implements 'agent secret-helper'
Package secrethelper implements 'agent secret-helper'
agent/subcommands/snmp
Package snmp implements the 'agent snmp' subcommand.
Package snmp implements the 'agent snmp' subcommand.
agent/subcommands/status
Package status implements 'agent status'.
Package status implements 'agent status'.
agent/subcommands/stop
Package stop implements 'agent stop'.
Package stop implements 'agent stop'.
agent/subcommands/streamep
Package streamep implements 'agent stream-event-platform'.
Package streamep implements 'agent stream-event-platform'.
agent/subcommands/streamlogs
Package streamlogs implements 'agent stream-logs'.
Package streamlogs implements 'agent stream-logs'.
agent/subcommands/taggerlist
Package taggerlist implements 'agent tagger-list'.
Package taggerlist implements 'agent tagger-list'.
agent/subcommands/version
Package version implements 'agent version'.
Package version implements 'agent version'.
agent/subcommands/workloadlist
Package workloadlist implements 'agent workload-list'.
Package workloadlist implements 'agent workload-list'.
agent/windows/controlsvc
Package controlsvc contains shared code for controlling the Windows agent service.
Package controlsvc contains shared code for controlling the Windows agent service.
agent/windows/service
Package service implements the Windows Service for the core agent
Package service implements the Windows Service for the core agent
agentless-scanner
Package main implements the agentless-scanner command.
Package main implements the agentless-scanner command.
cluster-agent/api
Package api implements the agent IPC api.
Package api implements the agent IPC api.
cluster-agent/api/agent
Package agent implements the api endpoints for the `/agent` prefix.
Package agent implements the api endpoints for the `/agent` prefix.
cluster-agent/api/v1
Package v1 implements the v1 of the API that exposes methods to manage and get information about the cluster checks and the endpoint checks dispatched by the cluster-agent.
Package v1 implements the v1 of the API that exposes methods to manage and get information about the cluster checks and the endpoint checks dispatched by the cluster-agent.
cluster-agent/api/v1/languagedetection
Package languagedetection implements the language detection API handler.
Package languagedetection implements the language detection API handler.
cws-instrumentation
Package main is the main package of CWS injector
Package main is the main package of CWS injector
cws-instrumentation/command
Package command holds the main command factory for CWS injector
Package command holds the main command factory for CWS injector
cws-instrumentation/flags
Package flags holds default flags for the CWS injector
Package flags holds default flags for the CWS injector
cws-instrumentation/subcommands
Package subcommands is used to list the subcommands of CWS injector
Package subcommands is used to list the subcommands of CWS injector
cws-instrumentation/subcommands/injectcmd
Package injectcmd holds the inject command of CWS injector
Package injectcmd holds the inject command of CWS injector
cws-instrumentation/subcommands/selftestscmd
Package selftestscmd holds the selftests command of CWS injector
Package selftestscmd holds the selftests command of CWS injector
cws-instrumentation/subcommands/setupcmd
Package setupcmd holds the setup command of CWS injector
Package setupcmd holds the setup command of CWS injector
cws-instrumentation/subcommands/tracecmd
Package tracecmd holds the start command of CWS injector
Package tracecmd holds the start command of CWS injector
installer
Package main implements 'installer'.
Package main implements 'installer'.
installer/command
Package command implements the top-level `installer` binary, including its subcommands.
Package command implements the top-level `installer` binary, including its subcommands.
installer/subcommands
Package subcommands contains the installer subcommands
Package subcommands contains the installer subcommands
installer/subcommands/bootstrap
Package bootstrap implements 'installer bootstrap'.
Package bootstrap implements 'installer bootstrap'.
installer/subcommands/daemon
Package daemon provides the installer daemon commands.
Package daemon provides the installer daemon commands.
installer/subcommands/installer
Package installer contains the installer subcommands
Package installer contains the installer subcommands
installer/user
Package user provides helpers to change the user of the process.
Package user provides helpers to change the user of the process.
internal/runcmd
Package runcmd provides support for running Cobra commands in main functions.
Package runcmd provides support for running Cobra commands in main functions.
iot-agent
Package main is the entrypoint for the IoT Agent.
Package main is the entrypoint for the IoT Agent.
manager
Package manager implements exit mechanisms
Package manager implements exit mechanisms
otel-agent
otel-agent is a binary meant for testing the comp/otelcol package to ensure that it is reusable both as a binary and as a part of the core agent.
otel-agent is a binary meant for testing the comp/otelcol package to ensure that it is reusable both as a binary and as a part of the core agent.
otel-agent/command
Package command implements the top-level `otel-agent` binary, including its subcommands.
Package command implements the top-level `otel-agent` binary, including its subcommands.
otel-agent/subcommands
Package subcommands contains the subcommands of the otel-agent.
Package subcommands contains the subcommands of the otel-agent.
otel-agent/subcommands/run
Package run : This package is used to run the application
Package run : This package is used to run the application
process-agent/command
Package command implements the top-level `process-agent` binary, including its subcommands.
Package command implements the top-level `process-agent` binary, including its subcommands.
secrethelper
Package secrethelper implements the secrethelper subcommand.
Package secrethelper implements the secrethelper subcommand.
secrethelper/providers
Package providers defines default secrets providers
Package providers defines default secrets providers
security-agent
Package main implements main
Package main implements main
security-agent/api
Package api implements the agent IPC api.
Package api implements the agent IPC api.
security-agent/api/agent
Package agent implements the api endpoints for the `/agent` prefix.
Package agent implements the api endpoints for the `/agent` prefix.
security-agent/command
Package command holds command related files
Package command holds command related files
security-agent/config
Package config implements config
Package config implements config
security-agent/subcommands
Package subcommands implement security agent subcommands
Package subcommands implement security agent subcommands
security-agent/subcommands/check
Package check holds check related files
Package check holds check related files
security-agent/subcommands/compliance
Package compliance implements compliance related subcommands
Package compliance implements compliance related subcommands
security-agent/subcommands/config
Package config holds config related files
Package config holds config related files
security-agent/subcommands/flare
Package flare implements flare related subcommands
Package flare implements flare related subcommands
security-agent/subcommands/runtime
Package runtime holds runtime related files
Package runtime holds runtime related files
security-agent/subcommands/start
Package start implements start related subcommands
Package start implements start related subcommands
security-agent/subcommands/status
Package status implements status related subcommands
Package status implements status related subcommands
security-agent/subcommands/version
Package version holds version related files
Package version holds version related files
nolint
serverless-init/log
Package log is responsible for settings around logging output from customer functions to be sent to Datadog (logs monitoring product).
Package log is responsible for settings around logging output from customer functions to be sent to Datadog (logs monitoring product).
system-probe
Package main is the entrypoint for system-probe process
Package main is the entrypoint for system-probe process
system-probe/api
Package api contains the API exposed by system-probe
Package api contains the API exposed by system-probe
system-probe/api/client
Package client contains the client for the API exposed by system-probe
Package client contains the client for the API exposed by system-probe
system-probe/api/module
Package module is the scaffolding for a system-probe module and the loader used upon start
Package module is the scaffolding for a system-probe module and the loader used upon start
system-probe/command
Package command contains utilities for creating system-probe commands
Package command contains utilities for creating system-probe commands
system-probe/common
Package common is global variables for the system-probe process
Package common is global variables for the system-probe process
system-probe/config
Package config contains the general configuration for system-probe
Package config contains the general configuration for system-probe
system-probe/config/types
Package types contains the different types used by the system-probe config.
Package types contains the different types used by the system-probe config.
system-probe/modules
Package modules is all the module definitions for system-probe
Package modules is all the module definitions for system-probe
system-probe/subcommands
Package subcommands contains the subcommands for system-probe
Package subcommands contains the subcommands for system-probe
system-probe/subcommands/config
Package config implements 'system-probe config'.
Package config implements 'system-probe config'.
system-probe/subcommands/debug
Package debug is the debug system-probe subcommand
Package debug is the debug system-probe subcommand
system-probe/subcommands/modrestart
Package modrestart is the module-restart system-probe subcommand
Package modrestart is the module-restart system-probe subcommand
system-probe/subcommands/run
Package run is the run system-probe subcommand
Package run is the run system-probe subcommand
system-probe/subcommands/version
Package version implements 'agent version'.
Package version implements 'agent version'.
system-probe/utils
Package utils are utilities for system-probe
Package utils are utilities for system-probe
systray
Package main for ddtray
Package main for ddtray
systray/command
Package command implements the top-level `systray` binary, including its subcommands.
Package command implements the top-level `systray` binary, including its subcommands.
trace-agent
Package main implements the entrypoint of the `trace-agent` binary.
Package main implements the entrypoint of the `trace-agent` binary.
trace-agent/command
Package command implements the top-level `trace-agent` binary, including its subcommands.
Package command implements the top-level `trace-agent` binary, including its subcommands.
trace-agent/config/remote
Package remote implements the HTTP handler for remote configs
Package remote implements the HTTP handler for remote configs
trace-agent/internal/flags
Package flags contains flags that are only available on Windows.
Package flags contains flags that are only available on Windows.
trace-agent/subcommands
Package subcommands contains the subcommands of the trace-agent.
Package subcommands contains the subcommands of the trace-agent.
trace-agent/subcommands/config
Package config implements 'trace-agent config' cli.
Package config implements 'trace-agent config' cli.
trace-agent/subcommands/controlsvc
Package controlsvc implements 'trace-agent start-service', 'trace-agent stopservice', and 'trace-agent restart-service'.
Package controlsvc implements 'trace-agent start-service', 'trace-agent stopservice', and 'trace-agent restart-service'.
trace-agent/subcommands/info
Package info contains the 'info' subcommand for the 'trace-agent' command.
Package info contains the 'info' subcommand for the 'trace-agent' command.
trace-agent/subcommands/run
Package run implements the run subcommand for the 'trace-agent' command.
Package run implements the run subcommand for the 'trace-agent' command.
trace-agent/test
Package test provides utilities for running integration tests on the trace agent.
Package test provides utilities for running integration tests on the trace agent.
trace-agent/windows/controlsvc
Package controlsvc contains shared code for controlling the Windows agent service.
Package controlsvc contains shared code for controlling the Windows agent service.
comp
agent
Package agent implements the "agent" bundle,
Package agent implements the "agent" bundle,
agent/autoexit
Package autoexit lets setup automatic shutdown mechanism if necessary
Package autoexit lets setup automatic shutdown mechanism if necessary
agent/autoexit/autoexitimpl
Package autoexitimpl implements autoexit.Component
Package autoexitimpl implements autoexit.Component
agent/cloudfoundrycontainer
Package cloudfoundrycontainer provides the cloud foundry container component.
Package cloudfoundrycontainer provides the cloud foundry container component.
agent/cloudfoundrycontainer/cloudfoundrycontainerimpl
Package cloudfoundrycontainerimpl provides the implementation of the cloud foundry container component.
Package cloudfoundrycontainerimpl provides the implementation of the cloud foundry container component.
agent/expvarserver
Package expvarserver contains the component type for the expVar server.
Package expvarserver contains the component type for the expVar server.
agent/expvarserver/expvarserverimpl
Package expvarserverimpl contains the implementation of the expVar server component.
Package expvarserverimpl contains the implementation of the expVar server component.
agent/jmxlogger
Package jmxlogger implements the logger for JMX.
Package jmxlogger implements the logger for JMX.
agent/jmxlogger/jmxloggerimpl
Package jmxloggerimpl implements the logger for JMX.
Package jmxloggerimpl implements the logger for JMX.
aggregator
Package aggregator implements the "aggregator" bundle,
Package aggregator implements the "aggregator" bundle,
aggregator/demultiplexer
Package demultiplexer defines the aggregator demultiplexer
Package demultiplexer defines the aggregator demultiplexer
aggregator/demultiplexer/demultiplexerimpl
Package demultiplexerimpl defines the aggregator demultiplexer
Package demultiplexerimpl defines the aggregator demultiplexer
aggregator/diagnosesendermanager
Package diagnosesendermanager defines the sender manager for the local diagnose check
Package diagnosesendermanager defines the sender manager for the local diagnose check
aggregator/diagnosesendermanager/diagnosesendermanagerimpl
Package diagnosesendermanagerimpl defines the sender manager for the local diagnose check
Package diagnosesendermanagerimpl defines the sender manager for the local diagnose check
api
Package api implements the "api" bundle,
Package api implements the "api" bundle,
api/api
Package api implements the internal Agent API which exposes endpoints such as config, flare or status
Package api implements the internal Agent API which exposes endpoints such as config, flare or status
api/api/apiimpl
Package apiimpl implements the internal Agent API which exposes endpoints such as config, flare or status
Package apiimpl implements the internal Agent API which exposes endpoints such as config, flare or status
api/api/apiimpl/internal/agent
Package agent implements the api endpoints for the `/agent` prefix.
Package agent implements the api endpoints for the `/agent` prefix.
api/api/apiimpl/internal/check
Package check implements the api endpoints for the `/check` prefix.
Package check implements the api endpoints for the `/check` prefix.
api/api/apiimpl/internal/config
Package config defines the config endpoint of the IPC API Server.
Package config defines the config endpoint of the IPC API Server.
api/api/apiimpl/response
Package response defines the config check response
Package response defines the config check response
api/api/apiimpl/utils
Package utils implements utility functions for the API servers
Package utils implements utility functions for the API servers
api/authtoken
Package authtoken implements the creation and access to the auth_token used to communicate between Agent processes.
Package authtoken implements the creation and access to the auth_token used to communicate between Agent processes.
api/authtoken/createandfetchimpl
Package createandfetchimpl implements the creation and access to the auth_token used to communicate between Agent processes.
Package createandfetchimpl implements the creation and access to the auth_token used to communicate between Agent processes.
api/authtoken/fetchonlyimpl
Package fetchonlyimpl implements the access to the auth_token used to communicate between Agent processes but does not create it.
Package fetchonlyimpl implements the access to the auth_token used to communicate between Agent processes but does not create it.
checks
Package checks implements the "checks" bundle, for all of the component based agent checks
Package checks implements the "checks" bundle, for all of the component based agent checks
checks/agentcrashdetect
Package agentcrashdetect ...
Package agentcrashdetect ...
checks/agentcrashdetect/agentcrashdetectimpl
Package agentcrashdetectimpl currently has no implementation on non-Windows platforms
Package agentcrashdetectimpl currently has no implementation on non-Windows platforms
checks/windowseventlog
Package windowseventlog defines the Windows Event Log check component
Package windowseventlog defines the Windows Event Log check component
checks/windowseventlog/windowseventlogimpl
Package windowseventlogimpl provides the Windows Event Log check component
Package windowseventlogimpl provides the Windows Event Log check component
checks/windowseventlog/windowseventlogimpl/check
Package evtlog is not implemented on non-Windows platforms
Package evtlog is not implemented on non-Windows platforms
checks/winregistry
Package winregistry implements the Windows Registry check
Package winregistry implements the Windows Registry check
checks/winregistry/impl
Package winregistryimpl contains the implementation of the Windows Registry check
Package winregistryimpl contains the implementation of the Windows Registry check
collector
Package collector defines the collector bundle.
Package collector defines the collector bundle.
collector/collector
Package collector defines the collector component.
Package collector defines the collector component.
collector/collector/collectorimpl
Package collectorimpl provides the implementation of the collector component.
Package collectorimpl provides the implementation of the collector component.
core
Package core implements the "core" bundle, providing services common to all agent flavors and binaries.
Package core implements the "core" bundle, providing services common to all agent flavors and binaries.
core/agenttelemetry
Package agenttelemetry implements a component to generate Agent telemetry
Package agenttelemetry implements a component to generate Agent telemetry
core/agenttelemetry/agenttelemetryimpl
Package agenttelemetryimpl provides the implementation of the agenttelemetry component.
Package agenttelemetryimpl provides the implementation of the agenttelemetry component.
core/autodiscovery
Package autodiscovery provides the autodiscovery component for the Datadog Agent
Package autodiscovery provides the autodiscovery component for the Datadog Agent
core/autodiscovery/autodiscoveryimpl
Package autodiscoveryimpl implements the agent's autodiscovery mechanism.
Package autodiscoveryimpl implements the agent's autodiscovery mechanism.
core/autodiscovery/common/types
Package types implements common structs used in the Autodiscovery code.
Package types implements common structs used in the Autodiscovery code.
core/autodiscovery/common/utils
Package utils implements helper methods used in the Autodiscovery code.
Package utils implements helper methods used in the Autodiscovery code.
core/autodiscovery/configresolver
Package configresolver resolves config templates using information from a service.
Package configresolver resolves config templates using information from a service.
core/autodiscovery/integration
Package integration contains the type that represents a configuration.
Package integration contains the type that represents a configuration.
core/autodiscovery/listeners
Package listeners is a wrapper that registers the available autodiscovery listerners.
Package listeners is a wrapper that registers the available autodiscovery listerners.
core/autodiscovery/providers/names
Package names defines the name of each config provider ("container", "cluster-checks", "file", etc.).
Package names defines the name of each config provider ("container", "cluster-checks", "file", etc.).
core/autodiscovery/scheduler
Package scheduler provides the `Scheduler` interface that should be implemented for any scheduler that wants to plug in `autodiscovery`.
Package scheduler provides the `Scheduler` interface that should be implemented for any scheduler that wants to plug in `autodiscovery`.
core/autodiscovery/status
Package status fetch information needed to render the 'autodiscovery' section of the status page.
Package status fetch information needed to render the 'autodiscovery' section of the status page.
core/autodiscovery/telemetry
Package telemetry defines the Autodiscovery telemetry metrics.
Package telemetry defines the Autodiscovery telemetry metrics.
core/configsync
Package configsync implements synchronizing the configuration using the core agent config API
Package configsync implements synchronizing the configuration using the core agent config API
core/configsync/configsyncimpl
Package configsyncimpl implements synchronizing the configuration using the core agent config API
Package configsyncimpl implements synchronizing the configuration using the core agent config API
core/flare
Package flare implements a component to generate flares from the agent.
Package flare implements a component to generate flares from the agent.
core/flare/helpers
Package helpers contains helpers for the flare component.
Package helpers contains helpers for the flare component.
core/gui
Package gui provides the GUI server component for the Datadog Agent.
Package gui provides the GUI server component for the Datadog Agent.
core/gui/guiimpl
Package guiimpl implements the component gui
Package guiimpl implements the component gui
core/healthprobe
Package healthprobe implements the health check server
Package healthprobe implements the health check server
core/healthprobe/healthprobeimpl
Package healthprobeimpl implements the healthprobe component interface
Package healthprobeimpl implements the healthprobe component interface
core/hostname
Package hostname exposes hostname.Get() as a component.
Package hostname exposes hostname.Get() as a component.
core/hostname/hostnameimpl
Package hostnameimpl implements the component hostname
Package hostnameimpl implements the component hostname
core/pid
Package pid writes the current PID to a file, ensuring that the file doesn't exist or doesn't contain a PID for a running process.
Package pid writes the current PID to a file, ensuring that the file doesn't exist or doesn't contain a PID for a running process.
core/pid/pidimpl
Package pidimpl writes the current PID to a file, ensuring that the file
Package pidimpl writes the current PID to a file, ensuring that the file
core/settings
Package settings defines the interface for the component that manage settings that can be changed at runtime
Package settings defines the interface for the component that manage settings that can be changed at runtime
core/settings/settingsimpl
Package settingsimpl implements the interface for the settings component
Package settingsimpl implements the interface for the settings component
core/sysprobeconfig
Package sysprobeconfig implements a component to handle system-probe configuration.
Package sysprobeconfig implements a component to handle system-probe configuration.
core/sysprobeconfig/sysprobeconfigimpl
Package sysprobeconfigimpl implements a component to handle system-probe configuration.
Package sysprobeconfigimpl implements a component to handle system-probe configuration.
core/tagger
Package tagger provides the tagger component for the Datadog Agent
Package tagger provides the tagger component for the Datadog Agent
core/tagger/api
Package api implements the Tagger API.
Package api implements the Tagger API.
core/tagger/collectors
Package collectors implements the collectors for the Tagger component.
Package collectors implements the collectors for the Tagger component.
core/tagger/local
Package local implements a local Tagger.
Package local implements a local Tagger.
core/tagger/remote
Package remote implements a remote Tagger.
Package remote implements a remote Tagger.
core/tagger/replay
Package replay implements the Tagger replay.
Package replay implements the Tagger replay.
core/tagger/server
Package server implements a gRPC server that streams Tagger entities.
Package server implements a gRPC server that streams Tagger entities.
core/tagger/subscriber
Package subscriber implements the functionality needed to subscribe to events generated by the Tagger component.
Package subscriber implements the functionality needed to subscribe to events generated by the Tagger component.
core/tagger/tagstore
Package tagstore implements the TagStore which is the component of the Tagger responsible for storing the tags in memory.
Package tagstore implements the TagStore which is the component of the Tagger responsible for storing the tags in memory.
core/tagger/telemetry
Package telemetry defines the telemetry for the Tagger component.
Package telemetry defines the telemetry for the Tagger component.
core/tagger/types
Package types defines types used by the Tagger component.
Package types defines types used by the Tagger component.
core/tagger/utils
Package utils defines several helpers used by the Tagger component.
Package utils defines several helpers used by the Tagger component.
core/workloadmeta
Package workloadmeta provides the workloadmeta component for the Datadog Agent
Package workloadmeta provides the workloadmeta component for the Datadog Agent
core/workloadmeta/collectors
Package collectors is a wrapper that loads the available workloadmeta collectors.
Package collectors is a wrapper that loads the available workloadmeta collectors.
core/workloadmeta/collectors/internal/cloudfoundry/container
Package container provides a workloadmeta collector for CloudForundry container
Package container provides a workloadmeta collector for CloudForundry container
core/workloadmeta/collectors/internal/cloudfoundry/vm
Package vm provides a workloadmeta collector for CloudForundry VM
Package vm provides a workloadmeta collector for CloudForundry VM
core/workloadmeta/collectors/internal/containerd
Package containerd provides the containerd colletor for workloadmeta
Package containerd provides the containerd colletor for workloadmeta
core/workloadmeta/collectors/internal/docker
Package docker provides the docker collector for workloadmeta
Package docker provides the docker collector for workloadmeta
core/workloadmeta/collectors/internal/ecs
Package ecs provides the ecs colletor for workloadmeta
Package ecs provides the ecs colletor for workloadmeta
core/workloadmeta/collectors/internal/ecsfargate
Package ecsfargate provides the ecsfargate colletor for workloadmeta
Package ecsfargate provides the ecsfargate colletor for workloadmeta
core/workloadmeta/collectors/internal/host
Package host implements the host tag Workloadmeta collector.
Package host implements the host tag Workloadmeta collector.
core/workloadmeta/collectors/internal/kubeapiserver
Package kubeapiserver provides the kubeapiserver colletor for workloadmeta
Package kubeapiserver provides the kubeapiserver colletor for workloadmeta
core/workloadmeta/collectors/internal/kubelet
Package kubelet provides the kubelet colletor for workloadmeta
Package kubelet provides the kubelet colletor for workloadmeta
core/workloadmeta/collectors/internal/kubemetadata
Package kubemetadata implements the kube_metadata Workloadmeta collector.
Package kubemetadata implements the kube_metadata Workloadmeta collector.
core/workloadmeta/collectors/internal/podman
Package podman provides the docker collector for workloadmeta
Package podman provides the docker collector for workloadmeta
core/workloadmeta/collectors/internal/remote
Package remote implements a generic workloadmeta Collector that receives events from a remote workloadmeta server.
Package remote implements a generic workloadmeta Collector that receives events from a remote workloadmeta server.
core/workloadmeta/collectors/internal/remote/processcollector
Package processcollector implements the remote process collector for Workloadmeta.
Package processcollector implements the remote process collector for Workloadmeta.
core/workloadmeta/collectors/internal/remote/workloadmeta
Package workloadmeta implements the remote workloadmeta Collector.
Package workloadmeta implements the remote workloadmeta Collector.
core/workloadmeta/collectors/util
Package util contains utility functions for image metadata collection
Package util contains utility functions for image metadata collection
core/workloadmeta/defaults
Package defaults provides the default workloadmeta configuration for the agent.
Package defaults provides the default workloadmeta configuration for the agent.
core/workloadmeta/server
Package server implements a gRPC server that streams the entities stored in Workloadmeta.
Package server implements a gRPC server that streams the entities stored in Workloadmeta.
core/workloadmeta/telemetry
Package telemetry defines the telemetry for the Workloadmeta component.
Package telemetry defines the telemetry for the Workloadmeta component.
dogstatsd/listeners
Package listeners implements the StatsdListener interfaces.
Package listeners implements the StatsdListener interfaces.
dogstatsd/pidmap
Package pidmap implements a component for tracking pid and containerID relations
Package pidmap implements a component for tracking pid and containerID relations
dogstatsd/pidmap/pidmapimpl
Package pidmapimpl implements a component for storing pid - containerID relations
Package pidmapimpl implements a component for storing pid - containerID relations
dogstatsd/replay
Package server implements a component to run the dogstatsd capture/replay
Package server implements a component to run the dogstatsd capture/replay
dogstatsd/server
Package dogstatsd implements DogStatsD.
Package dogstatsd implements DogStatsD.
dogstatsd/serverDebug
Package serverdebug implements a component to run the dogstatsd server debug
Package serverdebug implements a component to run the dogstatsd server debug
dogstatsd/serverDebug/serverdebugimpl
Package serverdebugimpl implements a component to run the dogstatsd server debug
Package serverdebugimpl implements a component to run the dogstatsd server debug
dogstatsd/statsd
Package statsd implements a component to get a statsd client.
Package statsd implements a component to get a statsd client.
dogstatsd/status
Package status implements the core status component information provider interface
Package status implements the core status component information provider interface
dogstatsd/status/statusimpl
Package statusimpl implements the status component interface
Package statusimpl implements the status component interface
etw
Package etw provides an ETW tracing interface
Package etw provides an ETW tracing interface
forwarder
Package forwarder implements the "forwarder" bundle
Package forwarder implements the "forwarder" bundle
forwarder/eventplatform
Package eventplatform contains the logic for forwarding events to the event platform
Package eventplatform contains the logic for forwarding events to the event platform
forwarder/eventplatform/eventplatformimpl
Package eventplatformimpl contains the logic for forwarding events to the event platform
Package eventplatformimpl contains the logic for forwarding events to the event platform
forwarder/eventplatformreceiver
Package eventplatformreceiver implements the receiver for the event platform package
Package eventplatformreceiver implements the receiver for the event platform package
forwarder/eventplatformreceiver/eventplatformreceiverimpl
Package eventplatformreceiverimpl implements the event platform receiver component.
Package eventplatformreceiverimpl implements the event platform receiver component.
forwarder/orchestrator
Package orchestrator implements the orchestrator forwarder component.
Package orchestrator implements the orchestrator forwarder component.
forwarder/orchestrator/orchestratorimpl
Package orchestratorimpl implements the orchestrator forwarder component.
Package orchestratorimpl implements the orchestrator forwarder component.
languagedetection
Package languagedetection implements the "languagedetection" bundle
Package languagedetection implements the "languagedetection" bundle
languagedetection/client
Package client implements a component to send process metadata to the Cluster-Agent
Package client implements a component to send process metadata to the Cluster-Agent
languagedetection/client/clientimpl
Package clientimpl holds the client to send data to the Cluster-Agent
Package clientimpl holds the client to send data to the Cluster-Agent
logs/adscheduler
Package adscheduler is glue code to connect autodiscovery to the logs agent.
Package adscheduler is glue code to connect autodiscovery to the logs agent.
logs/adscheduler/adschedulerimpl
Package adschedulerimpl contains the AD scheduler implementation.
Package adschedulerimpl contains the AD scheduler implementation.
logs/agent
Package agent contains logs agent component.
Package agent contains logs agent component.
metadata
Package metadata implements the "metadata" bundle, providing services and support for all the metadata payload sent by the Agent.
Package metadata implements the "metadata" bundle, providing services and support for all the metadata payload sent by the Agent.
metadata/host
Package host implements a component to generate the 'host' metadata payload (also known as "v5").
Package host implements a component to generate the 'host' metadata payload (also known as "v5").
metadata/host/hostimpl
Package hostimpl implements a component to generate the 'host' metadata payload (also known as "v5").
Package hostimpl implements a component to generate the 'host' metadata payload (also known as "v5").
metadata/host/hostimpl/hosttags
Package hosttags provides access to host tags
Package hosttags provides access to host tags
metadata/host/hostimpl/utils
Package utils generate host metadata payloads ready to be sent.
Package utils generate host metadata payloads ready to be sent.
metadata/internal/util
Package util offers helpers and building blocks to easily generate payloads for the inventory product.
Package util offers helpers and building blocks to easily generate payloads for the inventory product.
metadata/inventoryagent
Package inventoryagent implements a component to generate the 'datadog_agent' metadata payload for inventory.
Package inventoryagent implements a component to generate the 'datadog_agent' metadata payload for inventory.
metadata/inventoryagent/inventoryagentimpl
Package inventoryagentimpl implements a component to generate the 'datadog_agent' metadata payload for inventory.
Package inventoryagentimpl implements a component to generate the 'datadog_agent' metadata payload for inventory.
metadata/inventorychecks
Package inventorychecks implements a component to generate the 'check_metadata' metadata payload for inventory.
Package inventorychecks implements a component to generate the 'check_metadata' metadata payload for inventory.
metadata/inventorychecks/inventorychecksimpl
Package inventorychecksimpl implements the inventorychecks component interface.
Package inventorychecksimpl implements the inventorychecks component interface.
metadata/inventoryhost
Package inventoryhost exposes the interface for the component to generate the 'host_metadata' metadata payload for inventory.
Package inventoryhost exposes the interface for the component to generate the 'host_metadata' metadata payload for inventory.
metadata/inventoryhost/inventoryhostimpl
Package inventoryhostimpl implements a component to generate the 'host_metadata' metadata payload for inventory.
Package inventoryhostimpl implements a component to generate the 'host_metadata' metadata payload for inventory.
metadata/packagesigning
Package packagesigning implements a component to generate the 'signing' metadata payload for DD inventory (REDAPL).
Package packagesigning implements a component to generate the 'signing' metadata payload for DD inventory (REDAPL).
metadata/packagesigning/packagesigningimpl
Package packagesigningimpl implements the inventory signing component, to collect package signing keys.
Package packagesigningimpl implements the inventory signing component, to collect package signing keys.
metadata/packagesigning/utils
Package utils defines shared methods in package signing component
Package utils defines shared methods in package signing component
metadata/resources
Package resources implements a component to generate the 'resources' metadata payload.
Package resources implements a component to generate the 'resources' metadata payload.
metadata/runner
Package runner implements a component to generate metadata payload at the right interval.
Package runner implements a component to generate metadata payload at the right interval.
ndmtmp
Package ndmtmp implements the "ndmtmp" bundle, which exposes the default sender.Sender and the event platform forwarder.
Package ndmtmp implements the "ndmtmp" bundle, which exposes the default sender.Sender and the event platform forwarder.
ndmtmp/forwarder
Package forwarder exposes the event platform forwarder for netflow.
Package forwarder exposes the event platform forwarder for netflow.
ndmtmp/forwarder/forwarderimpl
Package forwarderimpl exposes the event platform forwarder for netflow.
Package forwarderimpl exposes the event platform forwarder for netflow.
netflow
Package netflow implements the "netflow" bundle, which listens for netflow packets, processes them, and forwards relevant data to the backend.
Package netflow implements the "netflow" bundle, which listens for netflow packets, processes them, and forwards relevant data to the backend.
netflow/common
Package common provides a flow type and a few standard helpers.
Package common provides a flow type and a few standard helpers.
netflow/config
Package config exposes the netflow configuration as a component.
Package config exposes the netflow configuration as a component.
netflow/flowaggregator
Package flowaggregator defines tools for aggregating observed netflows.
Package flowaggregator defines tools for aggregating observed netflows.
netflow/format
Package format provides methods for converting various netflow-related structures and values into strings.
Package format provides methods for converting various netflow-related structures and values into strings.
netflow/goflowlib
Package goflowlib provides converters between the goflow library and the types used internally for netflow at Datadog.
Package goflowlib provides converters between the goflow library and the types used internally for netflow at Datadog.
netflow/goflowlib/additionalfields
Package additionalfields provides a producer collecting additional fields from Netflow/IPFIX packets.
Package additionalfields provides a producer collecting additional fields from Netflow/IPFIX packets.
netflow/goflowlib/netflowstate
Package netflowstate provides a Netflow state manager on top of goflow default producer, to allow additional fields collection.
Package netflowstate provides a Netflow state manager on top of goflow default producer, to allow additional fields collection.
netflow/portrollup
Package portrollup provides a type for tracking observed connections between ports on different devices and identifying when a port connects to many different ports and so should have all traffic rolled up into a single flow for reporting purposes.
Package portrollup provides a type for tracking observed connections between ports on different devices and identifying when a port connects to many different ports and so should have all traffic rolled up into a single flow for reporting purposes.
netflow/server
Package server implements a component that runs the netflow server.
Package server implements a component that runs the netflow server.
netflow/testutil
Package testutil includes NetFlow test utilities.
Package testutil includes NetFlow test utilities.
otelcol
Package otelcol contains the OTLP ingest bundle pipeline to be included into the agent components.
Package otelcol contains the OTLP ingest bundle pipeline to be included into the agent components.
otelcol/collector
Package collector implements the OTLP Collector component for non-OTLP builds.
Package collector implements the OTLP Collector component for non-OTLP builds.
otelcol/otlp
Package otlp contains structures which aid in constructing an OpenTelemetry Collector to be embedded into the Datadog Agent.
Package otlp contains structures which aid in constructing an OpenTelemetry Collector to be embedded into the Datadog Agent.
otelcol/otlp/internal/configutils
Package configutils contains utilities used for reading configuration.
Package configutils contains utilities used for reading configuration.
process
Package process implements the "process" bundle, providing components for the Process Agent
Package process implements the "process" bundle, providing components for the Process Agent
process/agent
Package agent contains a process-agent component
Package agent contains a process-agent component
process/agent/agentimpl
Package agentimpl implements a component for the process agent.
Package agentimpl implements a component for the process agent.
process/apiserver
Package apiserver initializes the api server that powers many subcommands.
Package apiserver initializes the api server that powers many subcommands.
process/connectionscheck
Package connectionscheck implements a component to handle Connections data collection in the Process Agent.
Package connectionscheck implements a component to handle Connections data collection in the Process Agent.
process/connectionscheck/connectionscheckimpl
Package connectionscheckimpl implements a component to handle Connections data collection in the Process Agent.
Package connectionscheckimpl implements a component to handle Connections data collection in the Process Agent.
process/containercheck
Package containercheck implements a component to handle Container data collection in the Process Agent.
Package containercheck implements a component to handle Container data collection in the Process Agent.
process/containercheck/containercheckimpl
Package containercheckimpl implements a component to handle Container data collection in the Process Agent.
Package containercheckimpl implements a component to handle Container data collection in the Process Agent.
process/expvars
Package expvars initializes the expvar server of the process agent.
Package expvars initializes the expvar server of the process agent.
process/expvars/expvarsimpl
Package expvarsimpl initializes the expvar server of the process agent.
Package expvarsimpl initializes the expvar server of the process agent.
process/forwarders
Package forwarders implements a component to provide forwarders used by the process agent.
Package forwarders implements a component to provide forwarders used by the process agent.
process/forwarders/forwardersimpl
Package forwardersimpl implements a component to provide forwarders used by the process agent.
Package forwardersimpl implements a component to provide forwarders used by the process agent.
process/hostinfo
Package hostinfo wraps the hostinfo inside a component.
Package hostinfo wraps the hostinfo inside a component.
process/hostinfo/hostinfoimpl
Package hostinfoimpl wraps the hostinfo inside a component.
Package hostinfoimpl wraps the hostinfo inside a component.
process/processcheck
Package processcheck implements a component to handle Process data collection in the Process Agent.
Package processcheck implements a component to handle Process data collection in the Process Agent.
process/processcheck/processcheckimpl
Package processcheckimpl implements a component to handle Process data collection in the Process Agent.
Package processcheckimpl implements a component to handle Process data collection in the Process Agent.
process/processdiscoverycheck
Package processdiscoverycheck implements a component to handle Process Discovery data collection in the Process Agent for customers who do not pay for live processes.
Package processdiscoverycheck implements a component to handle Process Discovery data collection in the Process Agent for customers who do not pay for live processes.
process/processdiscoverycheck/processdiscoverycheckimpl
Package processdiscoverycheckimpl implements a component to handle Process Discovery data collection in the Process Agent for customers who do not pay for live processes.
Package processdiscoverycheckimpl implements a component to handle Process Discovery data collection in the Process Agent for customers who do not pay for live processes.
process/processeventscheck
Package processeventscheck implements a component to handle Process Events data collection in the Process Agent.
Package processeventscheck implements a component to handle Process Events data collection in the Process Agent.
process/processeventscheck/processeventscheckimpl
Package processeventscheckimpl implements a component to handle Process Events data collection in the Process Agent.
Package processeventscheckimpl implements a component to handle Process Events data collection in the Process Agent.
process/profiler
Package profiler implements a component to handle starting and stopping the internal profiler.
Package profiler implements a component to handle starting and stopping the internal profiler.
process/profiler/profilerimpl
Package profilerimpl implements a component to handle starting and stopping the internal profiler.
Package profilerimpl implements a component to handle starting and stopping the internal profiler.
process/rtcontainercheck
Package rtcontainercheck implements a component to handle realtime Container data collection in the Process Agent.
Package rtcontainercheck implements a component to handle realtime Container data collection in the Process Agent.
process/rtcontainercheck/rtcontainercheckimpl
Package rtcontainercheckimpl implements a component to handle realtime Container data collection in the Process Agent.
Package rtcontainercheckimpl implements a component to handle realtime Container data collection in the Process Agent.
process/runner
Package runner implements a component to run data collection checks in the Process Agent.
Package runner implements a component to run data collection checks in the Process Agent.
process/runner/runnerimpl
Package runnerimpl implements a component to run data collection checks in the Process Agent.
Package runnerimpl implements a component to run data collection checks in the Process Agent.
process/status
Package status implements the core status component information provider interface
Package status implements the core status component information provider interface
process/status/statusimpl
Package statusimpl implements the status component interface
Package statusimpl implements the status component interface
process/submitter
Package submitter implements a component to submit collected data in the Process Agent to supported Datadog intakes.
Package submitter implements a component to submit collected data in the Process Agent to supported Datadog intakes.
process/submitter/submitterimpl
Package submitterimpl implements a component to submit collected data in the Process Agent to supported Datadog intakes.
Package submitterimpl implements a component to submit collected data in the Process Agent to supported Datadog intakes.
remote-config
Package remoteconfig defines the fx options for the Bundle
Package remoteconfig defines the fx options for the Bundle
remote-config/rcclient/rcclientimpl
Package rcclientimpl is a remote config client that can run within the agent to receive configurations.
Package rcclientimpl is a remote config client that can run within the agent to receive configurations.
remote-config/rcclient/types
Package types provides the different types used by other component to provider remote-config task listeners.
Package types provides the different types used by other component to provider remote-config task listeners.
remote-config/rcservice
Package rcservice is a remote config service that can run within the agent to receive remote config updates from the DD backend.
Package rcservice is a remote config service that can run within the agent to receive remote config updates from the DD backend.
remote-config/rcservice/rcserviceimpl
Package rcserviceimpl is a remote config service that can run within the agent to receive remote config updates from the DD backend.
Package rcserviceimpl is a remote config service that can run within the agent to receive remote config updates from the DD backend.
remote-config/rcservicemrf
Package rcservicemrf is a remote config service that can run in the Agent to receive remote config updates from the DD failover DC backend.
Package rcservicemrf is a remote config service that can run in the Agent to receive remote config updates from the DD failover DC backend.
remote-config/rcservicemrf/rcservicemrfimpl
Package rcservicemrfimpl is a remote config service that can run within the agent to receive remote config updates from the configured DD failover DC
Package rcservicemrfimpl is a remote config service that can run within the agent to receive remote config updates from the configured DD failover DC
remote-config/rcstatus
Package rcstatus implements the core status component information provider interface
Package rcstatus implements the core status component information provider interface
remote-config/rctelemetryreporter
Package rctelemetryreporter provides a component that sends RC-specific metrics to the DD backend.
Package rctelemetryreporter provides a component that sends RC-specific metrics to the DD backend.
remote-config/rctelemetryreporter/rctelemetryreporterimpl
Package rctelemetryreporterimpl provides a DdRcTelemetryReporter that sends RC-specific metrics to the DD backend.
Package rctelemetryreporterimpl provides a DdRcTelemetryReporter that sends RC-specific metrics to the DD backend.
snmptraps
Package snmptraps implements the a server that listens for SNMP trap data and sends it to the backend.
Package snmptraps implements the a server that listens for SNMP trap data and sends it to the backend.
snmptraps/config
Package config implements the configuration type for the traps server and a component that provides it.
Package config implements the configuration type for the traps server and a component that provides it.
snmptraps/config/configimpl
Package configimpl implements the config service.
Package configimpl implements the config service.
snmptraps/formatter
Package formatter provides a component for formatting SNMP traps.
Package formatter provides a component for formatting SNMP traps.
snmptraps/formatter/formatterimpl
Package formatterimpl implements the formatter component.
Package formatterimpl implements the formatter component.
snmptraps/forwarder
Package forwarder defines a component that receives trap data from the listener component, formats it properly, and sends it to the backend.
Package forwarder defines a component that receives trap data from the listener component, formats it properly, and sends it to the backend.
snmptraps/forwarder/forwarderimpl
Package forwarderimpl implements the forwarder component.
Package forwarderimpl implements the forwarder component.
snmptraps/listener
Package listener implements a component that listens for SNMP messages, parses them, and publishes messages on a channel.
Package listener implements a component that listens for SNMP messages, parses them, and publishes messages on a channel.
snmptraps/listener/listenerimpl
Package listenerimpl implements the Listener component.
Package listenerimpl implements the Listener component.
snmptraps/oidresolver
Package oidresolver resolves OIDs
Package oidresolver resolves OIDs
snmptraps/oidresolver/oidresolverimpl
Package oidresolverimpl implements the OID Resolver component.
Package oidresolverimpl implements the OID Resolver component.
snmptraps/packet
Package packet defines an SNMP packet type and related helpers.
Package packet defines an SNMP packet type and related helpers.
snmptraps/server
Package server implements a component that runs the traps server.
Package server implements a component that runs the traps server.
snmptraps/server/serverimpl
Package serverimpl implements the traps server.
Package serverimpl implements the traps server.
snmptraps/snmplog
Package snmplog provides a GoSNMP logger that wraps our logger.
Package snmplog provides a GoSNMP logger that wraps our logger.
snmptraps/status
Package status exposes the expvars we use for status tracking to the component system.
Package status exposes the expvars we use for status tracking to the component system.
snmptraps/status/statusimpl
Package statusimpl implements the Status component.
Package statusimpl implements the Status component.
systray
Package systray implements the Datadog Agent Manager System Tray
Package systray implements the Datadog Agent Manager System Tray
systray/systray
Package systray provides a component for the system tray application
Package systray provides a component for the system tray application
systray/systray/systrayimpl
Package systrayimpl provides a component for the system tray application
Package systrayimpl provides a component for the system tray application
trace
Package trace implements the "trace" bundle, providing components for the Trace Agent
Package trace implements the "trace" bundle, providing components for the Trace Agent
trace/agent
Package agent defines the tracer agent.
Package agent defines the tracer agent.
trace/config
Package config implements a component to handle trace-agent configuration.
Package config implements a component to handle trace-agent configuration.
trace/etwtracer
Package etwtracer provides ETW events to the .Net tracer
Package etwtracer provides ETW events to the .Net tracer
trace/etwtracer/etwtracerimpl
Package etwtracerimpl provides a component for the .Net tracer application
Package etwtracerimpl provides a component for the .Net tracer application
trace/status
Package status implements the core status component information provider interface
Package status implements the core status component information provider interface
trace/status/statusimpl
Package statusimpl implements the status component interface
Package statusimpl implements the status component interface
updater
Package updater implements the updater component.
Package updater implements the updater component.
updater/localapi
Package localapi is the updater local api component.
Package localapi is the updater local api component.
updater/localapi/localapiimpl
Package localapiimpl implements the installer local api component.
Package localapiimpl implements the installer local api component.
updater/localapiclient
Package localapiclient provides the local API client component.
Package localapiclient provides the local API client component.
updater/localapiclient/localapiclientimpl
Package localapiclientimpl provides the local API client component.
Package localapiclientimpl provides the local API client component.
updater/telemetry
Package telemetry provides the installer telemetry component.
Package telemetry provides the installer telemetry component.
updater/telemetry/telemetryimpl
Package telemetryimpl provides the telemetry component implementation.
Package telemetryimpl provides the telemetry component implementation.
updater/updater
Package updater is the updater component.
Package updater is the updater component.
updater/updater/updaterimpl
Package updaterimpl implements the updater component.
Package updaterimpl implements the updater component.
core/config Module
core/log Module
core/secrets Module
core/status Module
internal
pkg
cli/standalone
Package standalone provides utility functions for Agent CLI commands that set up a new in-process Agent runtime (ex: check, jmx commands), as opposed to CLI commands that query a running Agent's IPC API.
Package standalone provides utility functions for Agent CLI commands that set up a new in-process Agent runtime (ex: check, jmx commands), as opposed to CLI commands that query a running Agent's IPC API.
cli/subcommands/check
Package check builds a 'check' command to be used in binaries.
Package check builds a 'check' command to be used in binaries.
cli/subcommands/clusterchecks
Package clusterchecks builds a 'clusterchecks' command to be used in binaries.
Package clusterchecks builds a 'clusterchecks' command to be used in binaries.
cli/subcommands/config
Package config builds a 'config' command to be used in binaries.
Package config builds a 'config' command to be used in binaries.
cli/subcommands/dcaconfigcheck
Package dcaconfigcheck builds a 'configcheck' command to be used in binaries.
Package dcaconfigcheck builds a 'configcheck' command to be used in binaries.
cli/subcommands/dcaflare
Package dcaflare defines the flare command for cluster-agent
Package dcaflare defines the flare command for cluster-agent
cli/subcommands/health
Package health builds a 'health' command to be used in binaries.
Package health builds a 'health' command to be used in binaries.
cli/subcommands/taggerlist
Package taggerlist implements 'agent tagger-list'.
Package taggerlist implements 'agent tagger-list'.
cli/subcommands/version
Package version builds a 'version' command to be used in binaries.
Package version builds a 'version' command to be used in binaries.
cli/subcommands/workloadlist
Package workloadlist implements 'agent workload-list'.
Package workloadlist implements 'agent workload-list'.
clusteragent
Package clusteragent contains the functionality of the Cluster Agent.
Package clusteragent contains the functionality of the Cluster Agent.
clusteragent/api
Package api contains the telemetry of the Cluster Agent API and implements the forwarding of queries from Cluster Agent followers to the leader.
Package api contains the telemetry of the Cluster Agent API and implements the forwarding of queries from Cluster Agent followers to the leader.
clusteragent/api/v1
Package v1 contains the types of the Cluster Agent API (v1).
Package v1 contains the types of the Cluster Agent API (v1).
clusteragent/autoscaling/custommetrics
Package custommetrics implements the part of the Cluster Agent that's responsible for providing custom metrics to the Kubernetes apiserver for Horizontal Pod Autoscalers.
Package custommetrics implements the part of the Cluster Agent that's responsible for providing custom metrics to the Kubernetes apiserver for Horizontal Pod Autoscalers.
clusteragent/autoscaling/externalmetrics
Package externalmetrics implements the part of the Cluster Agent that's responsible for providing custom metrics to the Kubernetes apiserver for Horizontal Pod Autoscalers.
Package externalmetrics implements the part of the Cluster Agent that's responsible for providing custom metrics to the Kubernetes apiserver for Horizontal Pod Autoscalers.
clusteragent/clusterchecks/types
Package types implements the types used by the Cluster checks dispatching functionality.
Package types implements the types used by the Cluster checks dispatching functionality.
clusteragent/languagedetection
Package languagedetection implements the language detection patcher.
Package languagedetection implements the language detection patcher.
collector
Package collector provides the implementation of the collector
Package collector provides the implementation of the collector
collector/corechecks/cluster
Package cluster provides core checks for cluster level checks, used by the Datadog Cluster Agent.
Package cluster provides core checks for cluster level checks, used by the Datadog Cluster Agent.
collector/corechecks/cluster/ksm/customresources
Package customresources implements custom resources that are not yet supported in the kube-state-metrics library or that were supported at some point, but now they're not, and we still want to keep backwards compatibility.
Package customresources implements custom resources that are not yet supported in the kube-state-metrics library or that were supported at some point, but now they're not, and we still want to keep backwards compatibility.
collector/corechecks/containerimage
Package containerimage implements the container image check.
Package containerimage implements the container image check.
collector/corechecks/containerlifecycle
Package containerlifecycle implements the container lifecycle check.
Package containerlifecycle implements the container lifecycle check.
collector/corechecks/containers
Package containers provides core checks for containers and orchestrators
Package containers provides core checks for containers and orchestrators
collector/corechecks/containers/generic
Package generic implements the container check.
Package generic implements the container check.
collector/corechecks/ebpf
Package ebpf contains all the ebpf-based checks.
Package ebpf contains all the ebpf-based checks.
collector/corechecks/ebpf/probe/ebpfcheck
Package ebpfcheck is the system-probe side of the eBPF check
Package ebpfcheck is the system-probe side of the eBPF check
collector/corechecks/ebpf/probe/ebpfcheck/model
Package model is the types for the eBPF check
Package model is the types for the eBPF check
collector/corechecks/ebpf/probe/oomkill
Package oomkill is the system-probe side of the OOM Kill check
Package oomkill is the system-probe side of the OOM Kill check
collector/corechecks/ebpf/probe/oomkill/model
Package model is the types for the OOM Kill check
Package model is the types for the OOM Kill check
collector/corechecks/ebpf/probe/tcpqueuelength
Package tcpqueuelength is the system-probe side of the TCP Queue Length check
Package tcpqueuelength is the system-probe side of the TCP Queue Length check
collector/corechecks/ebpf/probe/tcpqueuelength/model
Package model is the types for the TCP Queue Length check
Package model is the types for the TCP Queue Length check
collector/corechecks/embed/apm
Package apm provides a stub for the APM check
Package apm provides a stub for the APM check
collector/corechecks/net
Package net provides core checks for networking
Package net provides core checks for networking
collector/corechecks/network-devices/cisco-sdwan
Package ciscosdwan implements NDM Cisco SD-WAN corecheck
Package ciscosdwan implements NDM Cisco SD-WAN corecheck
collector/corechecks/network-devices/cisco-sdwan/client
Package client implements a Cisco SD-WAN API client
Package client implements a Cisco SD-WAN API client
collector/corechecks/network-devices/cisco-sdwan/payload
Package payload implement processing of Cisco SD-WAN api responses
Package payload implement processing of Cisco SD-WAN api responses
collector/corechecks/network-devices/cisco-sdwan/report
Package report implements Cisco SD-WAN metadata and metrics reporting
Package report implements Cisco SD-WAN metadata and metrics reporting
collector/corechecks/networkpath
Package networkpath defines the agent corecheck for the Network Path integration
Package networkpath defines the agent corecheck for the Network Path integration
collector/corechecks/nvidia/jetson
Package nvidia provides core checks for Nvidia's jetson device family
Package nvidia provides core checks for Nvidia's jetson device family
collector/corechecks/oracle
Package systemd provides core checks for oracle
Package systemd provides core checks for oracle
collector/corechecks/orchestrator
Package orchestrator holds orchestrator checks ourside the cluster agent
Package orchestrator holds orchestrator checks ourside the cluster agent
collector/corechecks/orchestrator/ecs
Package ecs is used for the orchestrator ECS check
Package ecs is used for the orchestrator ECS check
collector/corechecks/orchestrator/pod
Package pod is used for the orchestrator pod check
Package pod is used for the orchestrator pod check
collector/corechecks/sbom
Package sbom provides core checks for SBOM generation
Package sbom provides core checks for SBOM generation
collector/corechecks/snmp
Package snmp contains the SNMP corecheck integration
Package snmp contains the SNMP corecheck integration
collector/corechecks/snmp/internal/common
Package common contains constants and basic structures used in snmp integration
Package common contains constants and basic structures used in snmp integration
collector/corechecks/snmp/internal/configvalidation
Package configvalidation contains validation and enrichment functions
Package configvalidation contains validation and enrichment functions
collector/corechecks/snmp/internal/profile
Package profile contains profile related code
Package profile contains profile related code
collector/corechecks/snmp/internal/report
Package report is a package that reports metrics for the device check
Package report is a package that reports metrics for the device check
collector/corechecks/system
Package system provides core checks for OS-level system metrics
Package system provides core checks for OS-level system metrics
collector/corechecks/system/filehandles
Package filehandles defines the file_handle core check
Package filehandles defines the file_handle core check
collector/corechecks/system/wincrashdetect
Package wincrashdetect implements the windows crash detection on windows.
Package wincrashdetect implements the windows crash detection on windows.
collector/corechecks/systemd
Package systemd provides core checks for systemd
Package systemd provides core checks for systemd
collector/corechecks/telemetry
Package telemetry is a check to collect and send limited subset of internal telemetry from the core agent.
Package telemetry is a check to collect and send limited subset of internal telemetry from the core agent.
collector/externalhost
Package externalhost implements the External Host Tags metadata provider.
Package externalhost implements the External Host Tags metadata provider.
commonchecks
Package commonchecks contains shared checks for multiple agent components
Package commonchecks contains shared checks for multiple agent components
compliance
Package compliance implements a specific part of the datadog-agent responsible for scanning host and containers and report various misconfigurations and compliance issues.
Package compliance implements a specific part of the datadog-agent responsible for scanning host and containers and report various misconfigurations and compliance issues.
compliance/aptconfig
Package aptconfig is a compliance submodule that is able to parse the APT tool configuration and export it as a log.
Package aptconfig is a compliance submodule that is able to parse the APT tool configuration and export it as a log.
compliance/dbconfig
Package dbconfig is a compliance submodule that is able to parse and export databases applications configurations.
Package dbconfig is a compliance submodule that is able to parse and export databases applications configurations.
compliance/k8sconfig
Package k8sconfig is a compliance submodule that is able to parse the Kubernetes components configurations and export it as a log.
Package k8sconfig is a compliance submodule that is able to parse the Kubernetes components configurations and export it as a log.
compliance/metrics
Package metrics implements everything related to metrics of the pkg/compliance module.
Package metrics implements everything related to metrics of the pkg/compliance module.
compliance/scap
Package scap implements some internal parsing of the OpenSCAP analysis results.
Package scap implements some internal parsing of the OpenSCAP analysis results.
compliance/tools/k8s_schema_generator
Unless explicitly stated otherwise all files in this repository are licensed under the Apache License Version 2.0.
Unless explicitly stated otherwise all files in this repository are licensed under the Apache License Version 2.0.
compliance/tools/k8s_types_generator
Package main is the entrypoint of the compliance k8s_types_generator tool that is responsible for generating various configuration types of Kubernetes components.
Package main is the entrypoint of the compliance k8s_types_generator tool that is responsible for generating various configuration types of Kubernetes components.
compliance/utils
Package utils is a compliance internal submodule implementing various utilies.
Package utils is a compliance internal submodule implementing various utilies.
config
Package config defines the configuration of the agent
Package config defines the configuration of the agent
config/autodiscovery
Package autodiscovery contains helper function that return autodiscovery providers from the config and from the environment where the Agent is running.
Package autodiscovery contains helper function that return autodiscovery providers from the config and from the environment where the Agent is running.
config/fetcher
Package fetcher is a collection of high level helpers to pull the configuration from other agent processes
Package fetcher is a collection of high level helpers to pull the configuration from other agent processes
config/legacy
Package legacy contains the logic to convert the old agent configuration
Package legacy contains the logic to convert the old agent configuration
config/settings
Package settings implements runtime settings and profiling
Package settings implements runtime settings and profiling
config/settings/http
Package http implements helpers for the runtime settings HTTP API
Package http implements helpers for the runtime settings HTTP API
containerlifecycle
Package containerlifecycle constains constants used by the container life cycle check.
Package containerlifecycle constains constants used by the container life cycle check.
databasemonitoring/config
Package config contains database-monitoring auto-discovery configuration
Package config contains database-monitoring auto-discovery configuration
diagnose/connectivity
Package connectivity contains logic for connectivity troubleshooting between the Agent and Datadog endpoints.
Package connectivity contains logic for connectivity troubleshooting between the Agent and Datadog endpoints.
diagnose/diagnosis
Package diagnosis contains types used by the "agent diagnose" command.
Package diagnosis contains types used by the "agent diagnose" command.
dynamicinstrumentation
Package dynamicinstrumentation encapsulates a system-probe module which uses uprobes and bpf to exfiltrate data from running processes
Package dynamicinstrumentation encapsulates a system-probe module which uses uprobes and bpf to exfiltrate data from running processes
ebpf
Package ebpf contains general eBPF related types and functions
Package ebpf contains general eBPF related types and functions
ebpf/bytecode
Package bytecode contains types and functions for eBPF bytecode
Package bytecode contains types and functions for eBPF bytecode
ebpf/cgo
Package main is the program to fixup cgo generated types
Package main is the program to fixup cgo generated types
ebpf/ebpftest
Package ebpftest is utilities for tests against eBPF
Package ebpftest is utilities for tests against eBPF
ebpf/telemetry
Package telemetry provides types and functions for kernel telemetry collected by eBPF programs.
Package telemetry provides types and functions for kernel telemetry collected by eBPF programs.
ebpf/verifier
Package verifier is responsible for exposing information the verifier provides for any loaded eBPF program
Package verifier is responsible for exposing information the verifier provides for any loaded eBPF program
eventmonitor
Package eventmonitor holds eventmonitor related files
Package eventmonitor holds eventmonitor related files
eventmonitor/config
Package config holds config related files
Package config holds config related files
flare
Package flare contains the logic to create a flare archive.
Package flare contains the logic to create a flare archive.
fleet/daemon
Package daemon implements the fleet long running daemon.
Package daemon implements the fleet long running daemon.
fleet/installer
Package installer provides a package manager that installs and uninstalls packages.
Package installer provides a package manager that installs and uninstalls packages.
fleet/installer/errors
Package errors contains errors used by the installer.
Package errors contains errors used by the installer.
fleet/installer/fixtures
Package fixtures contains test datadog package fixtures.
Package fixtures contains test datadog package fixtures.
fleet/installer/repository
Package repository contains the packaging logic of the updater.
Package repository contains the packaging logic of the updater.
fleet/installer/service
Package service provides a way to interact with os services
Package service provides a way to interact with os services
fleet/installer/utils
Package utils provides utility functions for the installer.
Package utils provides utility functions for the installer.
fleet/telemetry
Package telemetry provides the telemetry for fleet components.
Package telemetry provides the telemetry for fleet components.
internaltelemetry
Package internaltelemetry full description in README.md
Package internaltelemetry full description in README.md
kubestatemetrics/builder
Package builder includes a metric store builder.
Package builder includes a metric store builder.
languagedetection
Package languagedetection determines the language that a process is written or compiled in.
Package languagedetection determines the language that a process is written or compiled in.
languagedetection/privileged
Package privileged implements language detection that relies on elevated permissions.
Package privileged implements language detection that relies on elevated permissions.
languagedetection/util
Package util provides util type definitions and helper methods for the language detection client and handler
Package util provides util type definitions and helper methods for the language detection client and handler
logs/internal/framer
Package framer supports efficiently breaking chunks of binary data into frames.
Package framer supports efficiently breaking chunks of binary data into frames.
logs/internal/parsers
Package parsers supports transforming raw log "lines" into messages with some associated metadata (timestamp, severity, etc.).
Package parsers supports transforming raw log "lines" into messages with some associated metadata (timestamp, severity, etc.).
logs/internal/parsers/dockerfile
Package dockerfile implements a Parser for the JSON-per-line format found in Docker logfiles.
Package dockerfile implements a Parser for the JSON-per-line format found in Docker logfiles.
logs/internal/parsers/dockerstream
Package dockerstream parses the log format output by Docker when streaming via its API.
Package dockerstream parses the log format output by Docker when streaming via its API.
logs/internal/parsers/encodedtext
Package encodedtext parses plain text messages that are in encodings other than utf-8.
Package encodedtext parses plain text messages that are in encodings other than utf-8.
logs/internal/parsers/noop
Package noop implements a parser that simply returns its input unchanged.
Package noop implements a parser that simply returns its input unchanged.
logs/launchers/windowsevent
Package windowsevent is not supported on non-windows platforms
Package windowsevent is not supported on non-windows platforms
logs/util/windowsevent
Package windowsevent contains utilities to transform Windows Event Log XML messages into structured messages for Datadog Logs.
Package windowsevent contains utilities to transform Windows Event Log XML messages into structured messages for Datadog Logs.
network/encoding
Package encoding contains two subpackages marshal and unmarshal.
Package encoding contains two subpackages marshal and unmarshal.
network/encoding/marshal
Package marshal implements the marshaling side of network encoding
Package marshal implements the marshaling side of network encoding
network/encoding/unmarshal
Package unmarshal implements the unmarshalling side of network encoding
Package unmarshal implements the unmarshalling side of network encoding
network/events
Package events handles process events
Package events handles process events
network/go/asmscan
Package asmscan provides functions for scanning the machine code of functions.
Package asmscan provides functions for scanning the machine code of functions.
network/go/bininspect
Package bininspect provides tools to inspect a Go binary.
Package bininspect provides tools to inspect a Go binary.
network/go/binversion
Package binversion provides access to information embedded in a Go binary about how it was built.
Package binversion provides access to information embedded in a Go binary about how it was built.
network/go/dwarfutils
Package dwarfutils provides utilities for working with DWARF debug information.
Package dwarfutils provides utilities for working with DWARF debug information.
network/go/dwarfutils/locexpr
Package locexpr provides a function to statically execute a DWARF location expression.
Package locexpr provides a function to statically execute a DWARF location expression.
network/go/goid
Package goid provides a function to get the current goroutine ID.
Package goid provides a function to get the current goroutine ID.
network/go/goid/internal
Package main is responsible for extracting Go type information from DWARF data across multiple Go versions.
Package main is responsible for extracting Go type information from DWARF data across multiple Go versions.
network/go/goid/internal/testprogram
Package main holds main related files
Package main holds main related files
network/go/goversion
Package goversion provides a wrapper around the `GoVersion` type from the delve debugger
Package goversion provides a wrapper around the `GoVersion` type from the delve debugger
network/go/lutgen
Package lutgen provides tools to generate lookup tables for Go binaries.
Package lutgen provides tools to generate lookup tables for Go binaries.
network/go/rungo
Package rungo provides tools to run the Go toolchain.
Package rungo provides tools to run the Go toolchain.
network/go/rungo/matrix
Package matrix provides a utility for running a single Go command
Package matrix provides a utility for running a single Go command
network/protocols
Package protocols provides the implementation of the network tracer protocols
Package protocols provides the implementation of the network tracer protocols
network/protocols/amqp
Package amqp provides a simple wrapper around 3rd party amqp client.
Package amqp provides a simple wrapper around 3rd party amqp client.
network/protocols/http
Package http contains the userspace portion of USM's HTTP monitoring code
Package http contains the userspace portion of USM's HTTP monitoring code
network/protocols/http/debugging
Package debugging provides a debugging view of the HTTP protocol.
Package debugging provides a debugging view of the HTTP protocol.
network/protocols/http/gotls/lookup
Package lookup provides a lookup table for the protocol package.
Package lookup provides a lookup table for the protocol package.
network/protocols/http/gotls/lookup/internal/testprogram
Package main provides a test program for generating lookup tables for TLS types
Package main provides a test program for generating lookup tables for TLS types
network/protocols/http/testutil
Package testutil provides utilities for testing the HTTP protocol.
Package testutil provides utilities for testing the HTTP protocol.
network/protocols/http2
Package http2 provides a HTTP/2 implementation for the network package for supporting HTTP/2 and gRPC monitoring with USM.
Package http2 provides a HTTP/2 implementation for the network package for supporting HTTP/2 and gRPC monitoring with USM.
network/protocols/kafka/debugging
Package debugging provides debug-friendly representations of internal data structures
Package debugging provides debug-friendly representations of internal data structures
network/protocols/mongo
Package mongo provides a simple wrapper around 3rd party mongo client.
Package mongo provides a simple wrapper around 3rd party mongo client.
network/protocols/mysql
Package mysql provides a MySQL client to interact with a MySQL server.
Package mysql provides a MySQL client to interact with a MySQL server.
network/protocols/postgres
Package postgres provides a simple wrapper around 3rd party postgres client.
Package postgres provides a simple wrapper around 3rd party postgres client.
network/protocols/redis
Package redis provides a Redis client to interact with a Redis server.
Package redis provides a Redis client to interact with a Redis server.
network/protocols/telemetry
Package telemetry provides a way to collect metrics from eBPF programs.
Package telemetry provides a way to collect metrics from eBPF programs.
network/protocols/testutil
Package testutil provides utilities for testing the network package.
Package testutil provides utilities for testing the network package.
network/protocols/tls/gotls/testutil
Package testutil provides utilities for testing the TLS package.
Package testutil provides utilities for testing the TLS package.
network/protocols/tls/gotls/testutil/gotls_client
Package main is a simple client for the gotls_server.
Package main is a simple client for the gotls_server.
network/protocols/tls/java
Package java contains implementation for JavaTLS support.
Package java contains implementation for JavaTLS support.
network/protocols/tls/nodejs
Package nodejs provides helpers to run nodejs HTTPs server.
Package nodejs provides helpers to run nodejs HTTPs server.
network/protocols/tls/openssl
Package openssl provides helpers to run openssl servers and clients.
Package openssl provides helpers to run openssl servers and clients.
network/slice
Package slice implements helpers for slice operations
Package slice implements helpers for slice operations
network/tracer/testutil/proxy/external_unix_proxy_server
Package main provides a unix transparent proxy server that can be used for testing.
Package main provides a unix transparent proxy server that can be used for testing.
network/usm/sharedlibraries/testutil/fmapper
Package main is used for testing purposes and it essentially maps into memory
Package main is used for testing purposes and it essentially maps into memory
network/usm/testutil
Package testutil provides utilities for testing USM.
Package testutil provides utilities for testing USM.
network/usm/testutil/grpc
Package grpc provides a gRPC client that fits the gRPC server.
Package grpc provides a gRPC client that fits the gRPC server.
network/usm/testutil/grpc/grpc_external_server
Package main provides a simple gRPC server that can be used for testing.
Package main provides a simple gRPC server that can be used for testing.
network/usm/testutil/prefetch_file
Package main is a simple utility to prefetch files into the page cache.
Package main is a simple utility to prefetch files into the page cache.
network/usm/utils
Package utils contains common code shared across the USM codebase
Package utils contains common code shared across the USM codebase
networkdevice/diagnoses
Package diagnoses implements the diagnosis collection for NDM resources
Package diagnoses implements the diagnosis collection for NDM resources
networkdevice/metadata
Package metadata defines types for describing data about a device.
Package metadata defines types for describing data about a device.
networkdevice/pinger
Package pinger implements ICMP ping functionality for the agent
Package pinger implements ICMP ping functionality for the agent
networkdevice/utils
Package utils contains utils function for ndm features
Package utils contains utils function for ndm features
networkpath/traceroute
Package traceroute adds traceroute functionality to the agent
Package traceroute adds traceroute functionality to the agent
orchestrator
Package orchestrator provides functions and stats for container orchestrators
Package orchestrator provides functions and stats for container orchestrators
pidfile
Package pidfile implements functions to interact with the pid file
Package pidfile implements functions to interact with the pid file
process/metadata/parser/java
Package javaparser contains functions to autodetect service name for java applications
Package javaparser contains functions to autodetect service name for java applications
process/metadata/parser/nodejs
Package nodejsparser wraps functions to guess service name for node applications
Package nodejsparser wraps functions to guess service name for node applications
process/monitor
Package monitor represents a wrapper to netlink, which gives us the ability to monitor process events like Exec and Exit, and activate the registered callbacks for the relevant events
Package monitor represents a wrapper to netlink, which gives us the ability to monitor process events like Exec and Exit, and activate the registered callbacks for the relevant events
runtime
Package runtime defines limits for the Go runtime
Package runtime defines limits for the Go runtime
sbom
Package sbom holds sbom related files
Package sbom holds sbom related files
sbom/collectors
Package collectors holds collectors related files
Package collectors holds collectors related files
sbom/collectors/docker
Package docker holds docker related files
Package docker holds docker related files
sbom/collectors/host
Package host holds host related files
Package host holds host related files
sbom/scanner
Package scanner holds scanner related files
Package scanner holds scanner related files
sbom/telemetry
Package telemetry holds telemetry related files
Package telemetry holds telemetry related files
security/agent
Package agent holds agent related files
Package agent holds agent related files
security/common
Package common holds common related files
Package common holds common related files
security/common/containerutils
Package containerutils holds multiple utils functions around Container IDs and their patterns
Package containerutils holds multiple utils functions around Container IDs and their patterns
security/common/usergrouputils
Package usergroup holds usergroup related files
Package usergroup holds usergroup related files
security/config
Package config holds config related files
Package config holds config related files
security/doc_generator
Package main holds main related files
Package main holds main related files
security/ebpf
Package ebpf holds ebpf related files
Package ebpf holds ebpf related files
security/ebpf/kernel
Package kernel holds kernel related files
Package kernel holds kernel related files
security/ebpf/probes
Package probes holds probes related files
Package probes holds probes related files
security/events
Package events holds events related files
Package events holds events related files
security/metrics
Package metrics holds metrics related files
Package metrics holds metrics related files
security/module
Package module holds module related files
Package module holds module related files
security/probe
Package probe holds probe related files
Package probe holds probe related files
security/probe/config
Package config holds config related files
Package config holds config related files
security/probe/constantfetch
Package constantfetch holds constantfetch related files
Package constantfetch holds constantfetch related files
security/probe/erpc
Package erpc holds erpc related files
Package erpc holds erpc related files
security/probe/eventstream
Package eventstream holds eventstream related files
Package eventstream holds eventstream related files
security/probe/eventstream/reorderer
Package reorderer holds reorderer related files
Package reorderer holds reorderer related files
security/probe/eventstream/ringbuffer
Package ringbuffer holds ringbuffer related files
Package ringbuffer holds ringbuffer related files
security/probe/kfilters
Package kfilters holds kfilters related files
Package kfilters holds kfilters related files
security/probe/managerhelper
Package managerhelper holds managerhelper related files
Package managerhelper holds managerhelper related files
security/probe/monitors/approver
Package approver holds approver related files
Package approver holds approver related files
security/probe/monitors/cgroups
Package cgroups holds cgroups related files
Package cgroups holds cgroups related files
security/probe/monitors/discarder
Package discarder holds discarder related files
Package discarder holds discarder related files
security/probe/monitors/runtime
Package runtime holds runtime related files
Package runtime holds runtime related files
security/probe/monitors/syscalls
Package syscalls holds syscalls related files
Package syscalls holds syscalls related files
security/probe/selftests
Package selftests holds selftests related files
Package selftests holds selftests related files
security/proto/api
Package api holds api related files
Package api holds api related files
security/proto/ebpfless
Package ebpfless holds msgpack messages
Package ebpfless holds msgpack messages
security/ptracer
Package ptracer holds the start command of CWS injector
Package ptracer holds the start command of CWS injector
security/rconfig
Package rconfig holds rconfig related files
Package rconfig holds rconfig related files
security/reporter
Package reporter holds reporter related files
Package reporter holds reporter related files
security/resolvers
Package resolvers holds resolvers related files
Package resolvers holds resolvers related files
security/resolvers/cgroup
Package cgroup holds cgroup related files
Package cgroup holds cgroup related files
security/resolvers/cgroup/model
Package model holds model related files
Package model holds model related files
security/resolvers/container
Package container holds container related files
Package container holds container related files
security/resolvers/dentry
Package dentry holds dentry related files
Package dentry holds dentry related files
security/resolvers/envvars
Package envvars holds envvars related files
Package envvars holds envvars related files
security/resolvers/hash
Package hash holds hash related files
Package hash holds hash related files
security/resolvers/mount
Package mount holds mount related files
Package mount holds mount related files
security/resolvers/netns
Package netns holds netns related files
Package netns holds netns related files
security/resolvers/path
Package path holds path related files
Package path holds path related files
security/resolvers/process
Package process holds process related files
Package process holds process related files
security/resolvers/sbom
Package sbom holds sbom related files
Package sbom holds sbom related files
security/resolvers/selinux
Package selinux holds selinux related files
Package selinux holds selinux related files
security/resolvers/tags
Package tags holds tags related files
Package tags holds tags related files
security/resolvers/tc
Package tc holds tc related files
Package tc holds tc related files
security/resolvers/time
Package time holds time related files
Package time holds time related files
security/resolvers/usergroup
Package usergroup holds usergroup related files
Package usergroup holds usergroup related files
security/resolvers/usersessions
Package usersessions holds model related to the user sessions resolver
Package usersessions holds model related to the user sessions resolver
security/rules
Package rules holds rules related files
Package rules holds rules related files
security/rules/autosuppression
Package autosuppression holds auto suppression related files
Package autosuppression holds auto suppression related files
security/rules/monitor
Package monitor holds rules related files
Package monitor holds rules related files
security/seclog
Package seclog holds seclog related files
Package seclog holds seclog related files
security/security_profile
Package securityprofile holds securityprofile related files
Package securityprofile holds securityprofile related files
security/security_profile/activity_tree
Package activitytree holds activitytree related files
Package activitytree holds activitytree related files
security/security_profile/activity_tree/metadata
Package metadata holds metadata related files
Package metadata holds metadata related files
security/security_profile/dump
Package dump holds dump related files
Package dump holds dump related files
security/security_profile/profile
Package profile holds profile related files
Package profile holds profile related files
security/serializers
Package serializers defines functions aiming to serialize events
Package serializers defines functions aiming to serialize events
security/telemetry
Package telemetry holds telemetry related files
Package telemetry holds telemetry related files
security/tests
Package tests holds tests related files
Package tests holds tests related files
security/tests/statsdclient
Package statsdclient holds statsdclient related files
Package statsdclient holds statsdclient related files
security/utils
Package utils holds utils related files
Package utils holds utils related files
serverless/appsec
Package appsec provides a simple Application Security Monitoring API for serverless.
Package appsec provides a simple Application Security Monitoring API for serverless.
serverless/appsec/config
Package config defines configuration utilities for appsec
Package config defines configuration utilities for appsec
serverless/appsec/httpsec
Package httpsec defines is the HTTP instrumentation API and contract for AppSec.
Package httpsec defines is the HTTP instrumentation API and contract for AppSec.
serverless/debug
Package debug holds logic around debug information in the Lambda Extension
Package debug holds logic around debug information in the Lambda Extension
serverless/trace/propagation
Package propagation manages propagation of trace context headers.
Package propagation manages propagation of trace context headers.
serverless/trigger/events
Package events provides a series of drop in replacements for "github.com/aws/aws-lambda-go/events".
Package events provides a series of drop in replacements for "github.com/aws/aws-lambda-go/events".
snmp/gosnmplib
Package gosnmplib provides helpers to go with gosnmp.
Package gosnmplib provides helpers to go with gosnmp.
snmp/snmpparse
Package snmpparse extracts SNMP configurations from agent config data.
Package snmpparse extracts SNMP configurations from agent config data.
status
Package status implements the status of the agent
Package status implements the status of the agent
status/clusteragent
Package clusteragent fetch information about the cluster agent
Package clusteragent fetch information about the cluster agent
status/collector
Package collector fetch information needed to render the 'collector' section of the status page.
Package collector fetch information needed to render the 'collector' section of the status page.
status/endpoints
Package endpoints fetch information needed to render the 'endpoints' section of the status page.
Package endpoints fetch information needed to render the 'endpoints' section of the status page.
status/httpproxy
Package httpproxy implements the status provider interface
Package httpproxy implements the status provider interface
status/jmx
Package jmx allows to set and collect information about JMX check
Package jmx allows to set and collect information about JMX check
status/render
Package render has all the formating options for status output
Package render has all the formating options for status output
status/systemprobe
Package systemprobe fetch information about the system probe
Package systemprobe fetch information about the system probe
tagger
Package tagger provides some shared logic about the tagger
Package tagger provides some shared logic about the tagger
util
Package util provides various functions
Package util provides various functions
util/aggregatingqueue
Package queue implements a generic queue.
Package queue implements a generic queue.
util/atomicstats
Package atomicstats provides support for "stats" structs containing atomic values.
Package atomicstats provides support for "stats" structs containing atomic values.
util/cachedfetch
Package cachedfetch provides a read-through cache for fetched values.
Package cachedfetch provides a read-through cache for fetched values.
util/cli
Package cli provides helper functions around command line interface
Package cli provides helper functions around command line interface
util/cloudproviders
Package cloudproviders provides utilities to detect the cloud provider.
Package cloudproviders provides utilities to detect the cloud provider.
util/cloudproviders/alibaba
Package alibaba provides utilities to detect the Alibaba cloud provider.
Package alibaba provides utilities to detect the Alibaba cloud provider.
util/cloudproviders/azure
Package azure provides utilities to detect Azure cloud provider.
Package azure provides utilities to detect Azure cloud provider.
util/cloudproviders/gce
Package gce provides utilities to detect gce cloud provider.
Package gce provides utilities to detect gce cloud provider.
util/cloudproviders/ibm
Package ibm provides utilities to detect ibm cloud provider.
Package ibm provides utilities to detect ibm cloud provider.
util/cloudproviders/kubernetes
Package kubernetes provides utilities to detect cloud provider from kubernetes.
Package kubernetes provides utilities to detect cloud provider from kubernetes.
util/cloudproviders/oracle
Package oracle provides utilities to detect oracle cloud provider.
Package oracle provides utilities to detect oracle cloud provider.
util/cloudproviders/tencent
Package tencent provides utilities to detect tencent cloud provider.
Package tencent provides utilities to detect tencent cloud provider.
util/clusteragent
Package clusteragent provides clients for the APIs exposed by the Cluster Agent and the Cluster Check Runners.
Package clusteragent provides clients for the APIs exposed by the Cluster Agent and the Cluster Check Runners.
util/containers
Package containers implements the functionality needed to fetch metrics from the different runtimes supported (Docker, containerd, etc.).
Package containers implements the functionality needed to fetch metrics from the different runtimes supported (Docker, containerd, etc.).
util/containers/metadata
Package containers provides metadata for containers.
Package containers provides metadata for containers.
util/containers/metrics
Package metrics registers all the different collectors for container-related metrics.
Package metrics registers all the different collectors for container-related metrics.
util/containers/metrics/containerd
Package containerd implements the containerd metrics collector
Package containerd implements the containerd metrics collector
util/containers/metrics/cri
Package cri implements the CRI metrics collector.
Package cri implements the CRI metrics collector.
util/containers/metrics/docker
Package docker implements the Docker metrics collector.
Package docker implements the Docker metrics collector.
util/containers/metrics/ecsfargate
Package ecsfargate implements the ECS Fargate metrics collector.
Package ecsfargate implements the ECS Fargate metrics collector.
util/containers/metrics/kubelet
Package kubelet implements the Kubelet metrics collector.
Package kubelet implements the Kubelet metrics collector.
util/containers/metrics/provider
Package provider defines the Provider interface which allows to get metrics collectors for the different container runtimes supported (Docker, containerd, etc.).
Package provider defines the Provider interface which allows to get metrics collectors for the different container runtimes supported (Docker, containerd, etc.).
util/containers/metrics/system
Package system implements the system metrics collector, which is based on Linux cgroups.
Package system implements the system metrics collector, which is based on Linux cgroups.
util/crashreport
Package crashreport provides shared helpers for recording crash detection state
Package crashreport provides shared helpers for recording crash detection state
util/dmi
Package dmi provides helper functions to interact with DMI
Package dmi provides helper functions to interact with DMI
util/ec2
Package ec2 provides information when running in ec2
Package ec2 provides information when running in ec2
util/ecs
Package ecs provides metadata collection when the Agent runs on the ECS platform
Package ecs provides metadata collection when the Agent runs on the ECS platform
util/ecs/common
Package common provides common functionality for the different ECS clients.
Package common provides common functionality for the different ECS clients.
util/ecs/metadata
Package metadata provides clients for Metadata APIs exposed by the ECS agent.
Package metadata provides clients for Metadata APIs exposed by the ECS agent.
util/ecs/metadata/testutil
Package testutil implements a fake ECS client to be used in tests.
Package testutil implements a fake ECS client to be used in tests.
util/fargate
Package fargate implements functions to interact with fargate
Package fargate implements functions to interact with fargate
util/funcs
Package funcs provides utilities for functions, such as caching and memoization.
Package funcs provides utilities for functions, such as caching and memoization.
util/hostname
Package hostname provides utilities to detect the hostname of the host.
Package hostname provides utilities to detect the hostname of the host.
util/input
Package input implements helper functions to communicate with the user via CLI
Package input implements helper functions to communicate with the user via CLI
util/installinfo
Package installinfo offers helpers to interact with the 'install_info' file.
Package installinfo offers helpers to interact with the 'install_info' file.
util/intern
Package intern lets you make smaller comparable values by boxing a larger comparable value (such as a 16 byte string header) down into a globally unique 8 byte pointer.
Package intern lets you make smaller comparable values by boxing a larger comparable value (such as a 16 byte string header) down into a globally unique 8 byte pointer.
util/jsonquery
Package jsonquery interacts with jq queries
Package jsonquery interacts with jq queries
util/kernel
Package kernel is utilities for the Linux kernel
Package kernel is utilities for the Linux kernel
util/kubelet
Package kubelet provides utilities to interact with kubelet.
Package kubelet provides utilities to interact with kubelet.
util/kubernetes
Package kubernetes provides several helpers to interact with a Kubernetes cluster.
Package kubernetes provides several helpers to interact with a Kubernetes cluster.
util/kubernetes/apiserver/leaderelection
Package leaderelection provides functions related with the leader election mechanism offered in Kubernetes.
Package leaderelection provides functions related with the leader election mechanism offered in Kubernetes.
util/kubernetes/apiserver/leaderelection/metrics
Package metrics provides telemetry to know who's the leader in Kubernetes objects that implement the leader/follower pattern.
Package metrics provides telemetry to know who's the leader in Kubernetes objects that implement the leader/follower pattern.
util/kubernetes/clustername
Package clustername provides helpers to get a Kubernetes cluster name.
Package clustername provides helpers to get a Kubernetes cluster name.
util/kubernetes/hostinfo
Package hostinfo provides functions to get annotations, labels, etc.
Package hostinfo provides functions to get annotations, labels, etc.
util/kubernetes/kubelet
Package kubelet provides a client for the Kubelet API.
Package kubelet provides a client for the Kubelet API.
util/native
Package native provides the endianness of an architecture
Package native provides the endianness of an architecture
util/pdhutil
Package pdhutil provides the Windows PDH API
Package pdhutil provides the Windows PDH API
util/podman
Package podman implements a client for the Podman DB (BoltDB).
Package podman implements a client for the Podman DB (BoltDB).
util/profiling
Package profiling interacts with internal profiling
Package profiling interacts with internal profiling
util/prometheus
Package prometheus provides utility functions to deal with prometheus endpoints
Package prometheus provides utility functions to deal with prometheus endpoints
util/proto
Package proto contains protobuf related helpers.
Package proto contains protobuf related helpers.
util/retry
Package retry implements a configurable retry mechanism that can be embedded in any class needing a retry-on-error system.
Package retry implements a configurable retry mechanism that can be embedded in any class needing a retry-on-error system.
util/strings
Package strings contains utilities for working with strings in Go
Package strings contains utilities for working with strings in Go
util/subscriptions
Package subscriptions provides support for managing subscriptions between components.
Package subscriptions provides support for managing subscriptions between components.
util/tmplvar
Package tmplvar provides functions to interact with template variables
Package tmplvar provides functions to interact with template variables
util/workqueue/telemetry
Package telemetry is a utility package that provides helper methods for creating and registering metrics for kubernetes workqueue.
Package telemetry is a utility package that provides helper methods for creating and registering metrics for kubernetes workqueue.
util/xc
Package xc provides a function to get system clock frequency
Package xc provides a function to get system clock frequency
windowsdriver/driver
Package driver implements the driver package
Package driver implements the driver package
api Module
conf Module
config/env Module
config/logs Module
config/model Module
config/remote Module
config/setup Module
config/utils Module
errors Module
gohai Module
logs/auditor Module
logs/client Module
logs/message Module
logs/metrics Module
logs/pipeline Module
logs/sds Module
logs/sender Module
logs/sources Module
metrics Module
obfuscate Module
otlp/model Module
proto Module
quantile Module
security/secl Module
serializer Module
status/health Module
tagger/types Module
tagset Module
telemetry Module
trace Module
trace/export Module
trace/pb Module
util/backoff Module
util/buf Module
util/cache Module
util/cgroups Module
util/common Module
util/flavor Module
util/fxutil Module
util/grpc Module
util/http Module
util/json Module
util/log Module
util/optional Module
util/pointer Module
util/scrubber Module
util/sort Module
util/system Module
util/testutil Module
util/uuid Module
util/winutil Module
version Module
rtloader
test
fakeintake Module
new-e2e Module
tools

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL