Ingest OpenTelemetry trace data

Dynatrace version 1.222+

Heterogeneous cloud-native microservice architectures can lead to visibility gaps in distributed traces. To gain complete end-to-end observability of these architectures in Dynatrace, you can ingest OpenTelemetry trace data emitted by cloud-native third-party services that cannot run OneAgent.

When you push OpenTelemetry spans to Dynatrace via API on the ActiveGate using OTLP, the ingested spans are integrated into PurePath® traces and carry all span attributes and resource attributes, as well as TraceId, ParentSpanId, and SpanId.

For scenarios where OneAgent already serves as the foundation for your monitoring in Dynatrace, see OneAgent OpenTracing and OpenTelemetry support and OpenTelemetry metric ingestion. To learn how to integrate OpenTelemetry span data into Dynatrace, see OneAgent OpenTracing and OpenTelemetry support.


The following requirements and limitations apply:

  • Dynatrace version 1.222+.
  • Only the OTLP/HTTP binary Protobuf format is supported; see Format limitations below.
  • Only traces with spans that are related to a PurePath are available. This ensures that you can easily navigate to a span's details.


To activate OpenTelemetry trace data ingestion

  1. From the Dynatrace menu, go to Settings > Server-side service monitoring > Deep monitoring > Distributed tracing.
  2. Turn on Send W3C Trace Context HTTP headers.
  3. Create an access token with the Ingest OpenTelemetry traces (openTelemetryTrace.ingest) scope.
  4. Configure an OpenTelemetry exporter of your choice:
    1. Set the URL as
      • SaaS https://{your-environment-id}

      • Managed https://{your-domain}/e/{your-environment-id}/api/v2/otlp/v1/traces

        Depending on your exporter, you might not need to provide the /v1/traces part of the URL, as some exporters append it automatically.

        Check the settings of your exporter to be sure you set the URL correctly.

    2. Set the Authorization HTTP header as Api-Token <TOKEN>, where <TOKEN> is the API token you created earlier.
  5. After about five minutes, check the dsfm:server.spans.persisted metrics via Data explorer or Metrics v2 API to confirm successful configuration.


To view your OpenTelemetry span, navigate to a PurePath that calls the service you just instrumented and check for spans on the left side of the service-call tree.

Select Show full trace to show the full transaction—including upstream of the selected PurePath.

View metrics

To gain insight into the number of ingested OpenTelemetry traces, you have these metrics:

  • dsfm:server.spans.received—the number of spans received by the cluster from our OpenTelemetry endpoint
  • dsfm:server.spans.persisted—the number of spans preserved by Dynatrace—only preserved spans are available for PurePath analysis.

Data privacy

While Dynatrace automatically captures all OpenTelemetry resource and span attributes, only the values of attributes that are specified in an allowlist are stored. This prevents accidental storage of personal data, enabling you to meet your privacy requirements and control the amount of monitoring data that's stored.

To view and edit the allowlists:

  • Span attributes From the Dynatrace menu, go to Settings > Server-side service monitoring > Span attributes.
  • Resource attributes From the Dynatrace menu, go to Settings > Server-side service monitoring > Resource attributes.

Getting started and best practices

Format limitations

The endpoint supports only the OTLP/HTTP binary Protobuf format. To find exporters that support that format, check the OpenTelemetry specification.

To ingest any other format, you must use an OpenTelemetry collector between the exporter and Dynatrace.

Frequently asked questions