agent-payload

module
v5.0.138 Latest Latest
Warning

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

Go to latest
Published: Nov 29, 2024 License: BSD-3-Clause

README

agent-payload

Payload format description for communication between the Agent and the Datadog backend.

This repository includes the protocol-buffer IDL used by the agent6 and agent7 to communicate with the Datadog backend. Those payloads are only supported by the V2 API endpoints. The generated Go, and Java implementations are checked into this repository and can be used directly. Other consumers may copy the .proto files into their repository and generate their own bindings.

Prerequisites

You will need

  • Ruby (any version will do)
  • Go (at least the version in go.mod)
  • A checkout of this repository within a GOPATH (so, at $GOPATH/src/github.com/DataDog/agent-payload)

Payloads

Logs

The logs payload is defined in proto/logs/agent_logs_payload.proto. The following implementations are available:

Metrics

The metrics payload is defined in proto/metrics/agent_payload.proto. The following implementations are available:

Process

The process payload is defined in proto/process/agent.proto. The following implementations are available:

CWS

The CWS security dumps payload is defined in proto/cws/dumpsv1/activity_dump.proto. The following implementations are available:

Updating Proto Definitions

After updating the IDL you must:

  • Regenerate the code: rake codegen, rake will use gimme to run the rake command with the current defined go version
  • If you have indentation/newlines changes, run rake codegen with the same Go version as defined in go.mod
  • Create a new tag with the updated version of the payload

Publishing Changes

After merging changes to master create a release by:

  1. Navigate to the Releases page

  2. Click "Draft a new release"

  3. In the "Choose a tag" drop down, type in the next version number

    Generally you can add one to the last version number. Make sure to include the v prefix. For example, if the last release was v5.0.37, your release should be v5.0.38.

  4. The release title should be the same as the version tag

  5. Use "Generate release notes" to fill in the release description

  6. Click "Publish release"

    This will create a git tag that can now be referenced in other repos.

Directories

Path Synopsis
autoscaling
cws
package jsonschema embeds the JSON schema for external usage
package jsonschema embeds the JSON schema for external usage
THIS IS A GENERATED FILE DO NOT EDIT
THIS IS A GENERATED FILE DO NOT EDIT
proto
autoscaling/kubernetes
package kubernetes contains the K8S autoscaling proto definitions
package kubernetes contains the K8S autoscaling proto definitions
contimage
package contimage contains the container images proto definitions
package contimage contains the container images proto definitions
contlcycle
package contlcycle contains the container lifecycle event proto definitions
package contlcycle contains the container lifecycle event proto definitions
cws/dumpsv1
package dumpsv1 contains the CWS activity dumps v1 proto definitions
package dumpsv1 contains the CWS activity dumps v1 proto definitions
sbom
package sbom contains the SBOM proto definitions
package sbom contains the SBOM proto definitions

Jump to

Keyboard shortcuts

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