Product news
Explore product news, announcements, and feature updates
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
mreider
Dynatrace Mentor
Dynatrace Mentor

Starting January 2026, we're making two changes to how OTLP metrics are processed:

  1. We are introducing an opt-in setting for "advanced OTLP metric dimensions."

  2. The upside 🙂 after enabling it, OTLP metrics will support extended dimension capabilities, including Primary Grail Fields, higher cardinality limits, faster queries, and special characters (such as slashes) in dimension names.
  3. The downside 😥 after enabling this setting, OTLP metrics will no longer be automatically enriched with the dt.entity.service dimension. If you use this dimension in SLOs, alerts, or dashboards, you'll need to update your queries.

Migrating Your Queries

Current pattern:

 timeseries sum(request_counter, rate: 1m),
  filter: { dt.entity.service == "SERVICE-4E5FC455D32B2912" }

New pattern:

Since dt.entity.service was calculated from SDv2 service detection rules, you can filter using the same underlying attributes. For Kubernetes workloads:

timeseries sum(request_counter, rate: 1m),
  filter: {
    k8s.workload.name == "productcatalogservice"
    and k8s.namespace.name == "astroshop"
    and k8s.cluster.uid == "28d34e2d-2420-4ca7-9d3a-4fc69cac077b"
  }
For non-Kubernetes deployments, use service.name:
timeseries sum(request_counter, rate: 1m),
  filter: { service.name == "productcatalogservice" }

These attributes must already be present as resource attributes on your OTLP metrics. Dynatrace does not automatically add them. OpenTelemetry instrumentation must send them. If you've customized your SDv2 detection rules, use the same custom attributes in your queries.

What You Gain

Once enabled, OTLP metrics support:

  • Primary Grail Fields as dimensions: Use fields like k8s.namespace.name, aws.account.id, azure.subscription, gcp.project.id for filtering, grouping, and correlation.

  • Higher cardinality limits: Significantly increased limits compared to the previous protocol

  • Faster query performance: Optimized for Grail

  • Special characters in dimensions: Slashes and other characters now supported

These dimensions enable downstream capabilities like pipeline routing, bucket assignment, security context, cost allocation, and segment-based alerting, provided your instrumentation sends the relevant resource attributes.

Supported Primary Grail Fields

  • aws.account.id

  • aws.region

  • azure.location

  • azure.resource.group

  • azure.subscription

  • gcp.project.id

  • gcp.region

  • k8s.cluster.name

  • k8s.namespace.name

  • dt.host_group.id

Timeline

February 2026: Opt-in available

  • A toggle will appear in Settings: Enable advanced OTLP metric dimensions

  • Enabling the toggle removes dt.entity.service from OTLP metrics

  • Test in lower environments before enabling in production

February to June 2026

  • Update your queries, SLOs, alerts, and dashboards

  • Toggle on/off as needed for testing

June 2026

  • Toggle removed; change becomes permanent for all OTLP metrics

  • dt.entity.service no longer available as an OTLP metric dimension

Need Help?

If you have questions or need assistance migrating your queries, contact your Dynatrace support team or reply to this post.