Send data to Dynatrace with OpenTelemetry

OpenTelemetry is an observability framework for cloud-native software used for instrumenting frameworks and components and exporting telemetry data (traces, metrics and logs). Dynatrace is a key contributor to this open source project.

You can use OpenTelemetry in Dynatrace to:

  • Extend Dynatrace technology coverage for technologies that are not supported out of the box by OneAgent
  • Enrich telemetry data with additional spans and metrics

Ingest trace data

You can ingest OpenTelemetry trace data (traces and spans) in two different ways:

  1. In combination with OneAgent
    Send trace data to Dynatrace via a OneAgent code module.
  2. Instrument without OneAgent
    Send trace data directly to the Dynatrace trace ingest API.

1. In combination with OneAgent

Available for: Java, Go, Node.js, PHP, and .NET on all platforms supported by OneAgent

In combination with OneAgent instrumentation

Use this approach:

  • For services that are already instrumented by OneAgent automatically
  • To extend visibility into frameworks and libraries instrumented with OpenTelemetry
  • To customize the distributed traces

For details, see OneAgent OpenTracing and OpenTelemetry support.

2. Instrument without OneAgent

Available for: C++, .NET, Erlang/Elixir, Go, Java, PHP, Python, Ruby, Rust, and all languages supported by OpenTelemetry Tracing

Instrument without OneAgent code module

Use this approach:

  • For services that cannot be instrumented by a OneAgent code module
  • When the component you want to monitor already exposes trace data in OpenTelemetry format (OTLP)

For details, see Send OpenTelemetry trace data to Dynatrace.

Ingest custom metrics

Available for: C++, .NET, Erlang/Elixir, Go, Java, PHP, Python, Ruby, Rust, and all languages supported by OpenTelemetry Metrics

OpenTelemetry Metrics is currently under active development and not yet considered stable or complete.

You can already use Dynatrace exporters to import OpenTelemetry metrics into Dynatrace. Make sure to check the status of your programming language's OpenTelemetry Metrics implementation in the OpenTelemetry community, as the API and SDK might not be stable yet.

For details, see OpenTelemetry metric ingestion.

Ingest logs

Dynatrace automatically collects log and event data from a vast array of technologies. With generic log ingestion, you can stream log records to a system and have Dynatrace transform the stream into meaningful log messages. See Log Monitoring v2.

OpenTelemetry logging is currently under active development. We will offer an integration in a future release.