datadogreceiver

package module
v0.110.0 Latest Latest
Warning

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

Go to latest
Published: Sep 24, 2024 License: Apache-2.0 Imports: 21 Imported by: 5

README

Datadog Receiver

Status
Stability development: metrics
alpha: traces
Distributions contrib
Issues Open issues Closed issues
Code Owners @boostchicken, @gouthamve, @jpkrohling, @MovieStoreGuy

Overview

The Datadog receiver enables translation between Datadog and OpenTelemetry-compatible backends. It currently has support for Datadog's APM traces and Datadog metrics.

Configuration

Configuration wise is very simple, just need to specify where the Datadog receiver should listen and the read timeout.

Then, the receiver must be configured in the pipeline where it will be used.

receivers:
  datadog:
    endpoint: localhost:8126
    read_timeout: 60s

exporters:
  debug:

service:
  pipelines:
    metrics:
      receivers: [datadog]
      exporters: [debug]
    traces:
      receivers: [datadog]
      exporters: [debug]
read_timeout (Optional)

The read timeout of the HTTP Server

Default: 60s

HTTP Service Config

All config params here are valid as well

https://github.com/open-telemetry/opentelemetry-collector/tree/main/config/confighttp#server-configuration

Default Attributes
  • dd.span.Resource: The datadog resource name (as distinct from the span name)
Datadog's API support

Traces

Datadog API Endpoint Status Notes
/v0.3/traces Alpha Support for msgpack and json
/v0.4/traces Alpha Support for msgpack and json
/v0.5/traces Alpha Msgpack custom format
/v0.7/traces Alpha
/api/v0.2/traces Alpha

Metrics

Datadog API Endpoint Status Notes
/api/v1/series Development
/api/v2/series Development
/api/v1/check_run Development
/api/v1/sketches Development
/api/beta/sketches Development
/api/v1/distribution_points Development
/intake Development
Temporality considerations

Some backends use a different timestamp temporality than Datadog uses. Both delta and cumulative temporalities are allowed in the spec. In order to store metrics on these backends, the receiver will need to translate the timestamps. For backends that use cumulative temporality, a delta to cumulative processor can be configured in the pipeline.

Documentation

Overview

Package datadogreceiver ingests traces in the Datadog APM format and translates them OpenTelemetry for collector usage

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewFactory

func NewFactory() receiver.Factory

NewFactory creates a factory for DataDog receiver.

Types

type Config

type Config struct {
	confighttp.ServerConfig `mapstructure:",squash"`
	// ReadTimeout of the http server
	ReadTimeout time.Duration `mapstructure:"read_timeout"`
}

type Endpoint added in v0.108.0

type Endpoint struct {
	// Pattern specifies the API pattern, as registered by the HTTP handler.
	Pattern string

	// Handler specifies the http.Handler for this endpoint.
	Handler func(http.ResponseWriter, *http.Request)
}

Endpoint specifies an API endpoint definition.

Directories

Path Synopsis
internal
translator/header
Package header defines HTTP headers known convention used by the Trace Agent and Datadog's APM intake.
Package header defines HTTP headers known convention used by the Trace Agent and Datadog's APM intake.

Jump to

Keyboard shortcuts

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