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 PurePaths 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.

Requirements

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.

Activate

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 API 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}.live.dynatrace.com/api/v2/otlp/v1/traces
      • Managed https://{your-domain}/e/{your-environment-id}/api/v2/otlp/v1/traces
    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.

View

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 amount 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 the 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 In the Dynatrace menu, go to Settings > Server-side service monitoring > Span attributes
  • Resource attributes In 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