OpenTelemetry — An observability framework for cloud-native software.

OpenTelemetry Dynatrace

[Dynatrace] integration for applications instrumented with [OpenTelemetry].

Crates.io: opentelemetry-dynatrace Documentation LICENSE GitHub Actions CI Gitter chat

Documentation | Chat

Overview

[OpenTelemetry] is a collection of tools, APIs, and SDKs used to instrument, generate, collect, and export telemetry data (metrics, logs, and traces) for analysis in order to understand your software's performance and behavior. This crate provides additional propagators and exporters for sending telemetry data to [Dynatrace].

Exporter features

This exporter only supports the ingestion of metric data. For trace data, use [opentelemetry-otlp] as described in the [Dynatrace documentation for Rust]. This exporter is based on the OpenTelemetry Metrics SDK for Rust, which is currently in an alpha state and neither considered stable nor complete as of this writing. As such, this exporter is not intended for production use until the underlying OpenTelemetry Metrics API and SDK are stable. See [open-telemetry/opentelemetry-rust] for the current state of the OpenTelemetry SDK for Rust.

Examples

The examples directory contains an advanced example showing the ingestion of trace data and metric data together.

Performance

For optimal performance, a batch exporter is used. You can enable the rt-tokio feature flag to use the [tokio] runtime, or enable the rt-async-std feature flag to use the [async-std] runtime to have a batch exporter configured for you automatically.

Choosing an HTTP client

The HTTP client that this exporter will use can be overridden with feature flags. By default the reqwest-client feature flag is enabled which will use the [reqwest] http client.

You can also configure your own http client implementation using the HttpClient trait.

WebAssembly

WebAssembly support can be enabled with the wasm feature flag.