When ingesting OpenTelemetry metrics, the following rules and details apply.
Dynatrace maps the individual OpenTelemetry instruments to the following Dynatrace metric types:
For Exponential Histogram, Dynatrace ingests the histogram's min|max|sum|count
but doesn't ingest the buckets.
Histograms are supported starting Dynatrace version 1.300.
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:
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.
The following Dynatrace-specific metrics can be useful when analyzing metrics ingestion issues.
Dynatrace version 1.280+
dsfm:active_gate.metrics.ingest.otlp.datapoints.accepted
dsfm:active_gate.metrics.ingest.otlp.datapoints.rejected
Dynatrace version 1.279 and earlier
dsfm:active_gate.metrics.ingest.otlp.datapoints.accepted.count
dsfm:active_gate.metrics.ingest.otlp.datapoints.rejected.count
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 reasons why metrics are rejected by Dynatrace:
UNSUPPORTED_METRIC_TYPE_MONOTONIC_CUMULATIVE_SUM
)—Switch to delta aggregation.