Datadog and OpenTelemetry Compatibility

このページは日本語には対応しておりません。随時翻訳に取り組んでいます。翻訳に関してご質問やご意見ございましたら、お気軽にご連絡ください。

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

The following setups are supported:

Setup TypeAPISDKCollector/Agent
Full OpenTelemetryOTel APIOTel SDKOTel Collector
OTel to Datadog Agent (OTLP)OTel APIOTel SDKDatadog Agent (OTLP Ingest)
OTel API with Datadog SDK and AgentOTel APIDatadog SDKDatadog Agent
Datadog Agent with embedded OTel Collector (Preview)OTel APIOTel SDK or Datadog SDKDatadog Agent (with embedded Collector)
Full DatadogDatadog APIDatadog SDKDatadog Agent
The Agent with embedded OTel Collector (Preview) supports two data flow options:
  • OTel SDK → embedded Collector, or
  • Datadog SDK → Datadog Agent
  • Feature compatibility

    Supported features

    The following table shows feature compatibility across different setups:

    FeatureFull OTelOTel to Datadog Agent (OTLP)OTel API with Datadog SDK and AgentDatadog Agent with embedded OTel Collector (Preview)Full Datadog
    Application Security Monitoring (ASM)
    (Datadog SDK only)
    Continuous Profiler
    (Datadog SDK only)
    Data Journaling Monitoring (DJM)
    (Datadog SDK only)
    Database Monitoring (DBM)
    (Datadog SDK only)
    Data Streams Monitoring (DSM)
    (Datadog SDK only)
    Live Processes
    (Datadog SDK only)
    Universal Service Monitoring (USM)
    (Datadog SDK only)
    Cloud SIEM
    Correlated Traces, Metrics, Logs
    Live Container Monitoring/Kubernetes Explorer
    Network Performance Monitoring (NPM)
    Real User Monitoring (RUM)
    Runtime Metrics
    (Java, .NET, Go only)

    (Java, .NET, Go only)

    (Java, .NET, Go only)
    Source code integration
    (Datadog SDK only)

    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.

    Network Performance Monitoring (NPM)

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

    For more information, see Network Performance Monitoring Setup.

    Live Processes

    For OTel to Datadog Agent (OTLP), you must enable the Process Agent.

    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

    お役に立つドキュメント、リンクや記事: