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.
Support for custom instrumenting your application using the OpenTelemetry API and sending the spans to Datadog is in beta.

If your code is custom instrumented with the OpenTelemetry (OTel) API, you can configure it to generate Datadog-style spans and traces to be processed by the Datadog tracing library for your language, and send those to Datadog.

The Datadog tracing library, when configured as described here, accepts the spans and traces generated by OpenTelemetry-instrumented code, processes the telemetry, and sends it to Datadog. You can use this approach, for example, if your code has already been instrumented with the OpenTelemetry API, or if you want to instrument using the OpenTelemetry API, and you want to gain the benefits of using the Datadog tracing libraries without changing your code.

If you’re looking for a way to instrument your code with OpenTelemetry and then send span data to Datadog without going through the Datadog tracing library, see OpenTelemetry in Datadog.

Requirements and limitations

  • Datadog python tracing library dd-trace-py version 1.12.0 or greater.
  • Python version 3.7 or greater.

The following OpenTelemetry features implemented in the Datadog library as noted:

FeatureSupport notes
OpenTelemetry Context propagationDatadog distributed header format is used instead.
Span processorsUnsupported
Span ExportersUnsupported
Trace/span ID generatorsID generation is performed by ddtrace.

Configuring OpenTelemetry to use the Datadog Tracer Provider

  1. Add your desired manual OpenTelemetry instrumentation to your Python code following the OpenTelemetry Python Manual Instrumentation documentation.

  2. Install the python tracer:

    pip install "ddtrace>=1.12.0"
    
  3. Set DD_TRACE_OTEL_ENABLED environment variable to True.

  4. Run your application with ddtrace-run. This automatically configures the Datadog Tracer Provider. If your application cannot use ddtrace-run read the dd-trace-py OpenTelemetry API docs for additional configurations.

Datadog combines these OpenTelemetry spans with other Datadog APM spans into a single trace of your application. It supports OpenTelemetry Automatic instrumentation also.

Further Reading

Documentation, liens et articles supplémentaires utiles: