Ingest OpenTelemetry metrics

When ingesting OpenTelemetry metrics, the following rules and details apply.

Dynatrace mapping

Dynatrace maps the individual OpenTelemetry instruments to the following Dynatrace metric types:

Instrument
with temporality
maps to Dynatrace
Counter
Delta
Counter
Counter
Cumulative
N/A
UpDownCounter
Delta
Counter
UpDownCounter
Cumulative
Gauge
Gauge
N/A
Gauge
Histogram support

Dynatrace does not support histogram buckets yet. However, you can use the Dynatrace Collector to compute and ingest histogram summaries, such as the number of individual values and their sum.

For a configuration example, see Compute histogram summaries.

Attribute ingestion

OpenTelemetry supports attributes on different levels in an OpenTelemetry metric request (that is, data points, scopes, and resources). Because attributes are saved in a flattened fashion on the Dynatrace side, there may be name collisions if attributes on different levels share the same name.

To handle such name conflicts, Dynatrace applies the following order of priority to choose which attribute will be ingested:

  1. Data point attributes
  2. Scope attributes
  3. Resource attributes

For example, if there is a data point and a scope attribute with the same name, the value of the data point will take precedence. Similarly, if a scope and resource attribute share the same name, Dynatrace will ingest the value of the scope attribute.

Dynatrace ingestion metrics

The following Dynatrace-specific metrics can be useful when analyzing metrics ingestion issues.

Dynatrace version 1.280+

Name
Description
dsfm:active_gate.metrics.ingest.otlp.datapoints.accepted
Number of accepted data points
dsfm:active_gate.metrics.ingest.otlp.datapoints.rejected
Number of rejected data points

Dynatrace version 1.279 and earlier

Name
Description
dsfm:active_gate.metrics.ingest.otlp.datapoints.accepted.count
Number of accepted data points
dsfm:active_gate.metrics.ingest.otlp.datapoints.rejected.count
Number of rejected data points

Rejection reason

Rejected metrics have a reason dimension that provides additional details on why OpenTelemetry metrics were rejected. In Dynatrace, you can filter, sort, and split by that dimension.

Typical rejections

Typical reasons why metrics are rejected by Dynatrace:

  • Metrics sent with a cumulative aggregation temporality (reason: UNSUPPORTED_METRIC_TYPE_MONOTONIC_CUMULATIVE_SUM)—Switch to delta aggregation.
  • Metrics sent for histograms (reason: UNSUPPORTED_METRIC_TYPE_HISTOGRAM)—Histograms are currently not supported.