Datadog and OpenTelemetry Compatibility

Cette page n'est pas encore disponible en français, sa traduction est en cours.
Si vous avez des questions ou des retours sur notre projet de traduction actuel, n'hésitez pas à nous contacter.

Overview

Datadog offers multiple setup options to accommodate various use cases, from full OpenTelemetry (OTel) implementations to hybrid setups using both OpenTelemetry and Datadog components. This page covers the compatibility between different setups and supported Datadog products and features, helping you choose the best configuration for your needs.

Setups

Datadog supports several configurations for using OpenTelemetry. The primary difference between these setups is the choice of SDK (OpenTelemetry or Datadog) and the collector used to process and forward telemetry data.

Setup TypeAPISDKCollector/Agent
Datadog SDK + DDOT (Recommended)Datadog API or OTel APIDatadog SDKDatadog Distribution of OTel Collector (DDOT)
OTel SDK + DDOTOTel APIOTel SDKDatadog Distribution of OTel Collector (DDOT)
OTel SDK + OSS CollectorOTel APIOTel SDKOTel Collector (OSS)
Direct OTLP IngestOTel APIOTel SDKN/A (Direct to Datadog endpoint)

Feature compatibility

The following table shows feature compatibility across different setups:

FeatureDatadog SDK + DDOT (Recommended)OTel SDK + DDOTOTel SDK + OSS CollectorDirect OTLP Ingest
Cloud SIEM
Correlated Traces, Metrics, Logs
Distributed Tracing
Runtime Metrics
(Java, .NET, Go only)

(Java, .NET, Go only)

(Java, .NET, Go only)
Span Links
Trace Metrics
(Trace metrics are calculated on the backend based on ingested spans that have passed through sampling, not on 100% of local traces before sampling.)
Database Monitoring (DBM)
Cloud Network Monitoring (CNM)
Live Container Monitoring/Kubernetes Explorer
Live Processes
Universal Service Monitoring (USM)
App and API Protection (AAP)
Continuous Profiler
Data Jobs Monitoring (DJM)
Data Streams Monitoring (DSM)OTel does not offer DSM functionalityOTel does not offer DSM functionality
Real User Monitoring (RUM)
Source code integration

More details

Runtime metrics

Setups using the OpenTelemetry SDK follow the OpenTelemetry Runtime Metrics specification.

Real User Monitoring (RUM)

To enable full RUM functionality, you need to inject supported headers to correlate RUM and traces.

Cloud Network Monitoring (CNM)

Span-level or endpoint-level monitoring is not supported.

For more information, see Cloud Network Monitoring Setup.

Source Code Integration

For unsupported languages in OpenTelemetry setups, configure telemetry tagging to link data to a specific commit.

Best practices

When using Datadog and OpenTelemetry together, Datadog recommends the following best practices to ensure optimal performance and to avoid potential issues:

  • Avoid mixed instrumentation: Do not use both a Datadog SDK and an OpenTelemetry SDK to instrument the same application, as this leads to undefined behavior.
  • Avoid Agent and separate Collector on same host: Do not run the Datadog Agent and a separate OpenTelemetry Collector on the same host, as this may cause issues. However, you can run Agents and Collectors on different hosts within the same fleet.

Further reading

Documentation, liens et articles supplémentaires utiles: