Datadog Receiver
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.