<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/create-histogram-metrics-at-ingest-with-openpipeline-imvvjymcj" -->

---
title: Create histogram metrics at ingest with OpenPipeline
description: Dynatrace now extracts histogram metrics directly from spans and logs during ingestion using OpenPipeline, eliminating the need to re-instrument services to...
canonical: https://daily.dev/posts/create-histogram-metrics-at-ingest-with-openpipeline-imvvjymcj
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Create histogram metrics at ingest with OpenPipeline | daily.dev
og:description: Dynatrace now extracts histogram metrics directly from spans and logs during ingestion using OpenPipeline, eliminating the need to re-instrument services to...
og:url: https://daily.dev/posts/create-histogram-metrics-at-ingest-with-openpipeline-imvvjymcj
og:image: https://api.daily.dev/og/posts/ImVVJyMCj.png
og:image:alt: Create histogram metrics at ingest with OpenPipeline
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Create histogram metrics at ingest with OpenPipeline

**[Dynatrace](https://daily.dev/sources/dynatrace)** · 5 min read · 0 upvotes · 0 comments

## Summary

Dynatrace now extracts histogram metrics directly from spans and logs during ingestion using OpenPipeline, eliminating the need to re-instrument services to get distribution data. Histogram metrics preserve full data distributions rather than collapsing them into a single average, enabling accurate percentile queries (p50, p90, p99), precise SLO measurement via a new percentRank() DQL function, and better anomaly detection through distribution-aware baselining. The extracted metrics use the exponential histogram format aligned with OpenTelemetry and Prometheus conventions, with dynamic bucket boundaries that require no upfront configuration. Metrics are stored in Grail and available for dashboards, DQL queries, and SLO definitions.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.dynatrace.com/news/blog/create-histogram-metrics-at-ingest-with-openpipeline>

## Questions this post answers

### How can I get percentile metrics like p99 latency without re-instrumenting my services in Dynatrace?

Dynatrace OpenPipeline can extract histogram metrics directly from spans and logs already being ingested, without changing SDKs, applications, or OpenTelemetry collectors. You configure a histogram metric extraction rule that converts span or log data into exponential histogram metrics at ingest time, which are then queryable with functions like timeseries percentile() instead of scanning raw telemetry on every query.

_Developers weighing observability pipeline changes can track platform updates like this on daily.dev._

### What is the new percentRank() function in Dynatrace Query Language used for?

percentRank() is a Dynatrace Query Language aggregation function that returns the estimated fraction of observations below a given threshold, working in the opposite direction from a percentile calculation. Given a latency threshold like 500 ms, it answers what fraction of requests completed under that value, making it useful for defining SLOs based on latency distributions rather than simple averages.

_Teams building latency-based SLOs can follow DQL feature updates like this via daily.dev._

### Why do average response time metrics hide performance problems?

An average blends fast and slow requests into one misleading number; for example, if 80% of requests complete in 10 ms while 20% take 2 seconds, the average comes out to 408 ms, representing neither group accurately. Once only the average is stored, the underlying distribution is lost, making it impossible to analyze percentiles, tail latency, or SLO compliance afterward.

_Anyone debugging misleading latency dashboards can find deeper observability explainers through daily.dev._

## Similar posts on daily.dev

- [Elastic’s new metrics capabilities will dramatically improve uptime for public sector IT](https://daily.dev/posts/elastic-s-new-metrics-capabilities-will-dramatically-improve-uptime-for-public-sector-it-1tv2tpxd0) · elastic · 0 upvotes · 0 comments
- [Atlassian Rebuilds Metrics Pipeline Around OpenTelemetry at Massive Scale](https://daily.dev/posts/atlassian-rebuilds-metrics-pipeline-around-opentelemetry-at-massive-scale-iayb6ques) · InfoQ · 0 upvotes · 0 comments
- [Dynatrace Release Radar 02.26](https://daily.dev/posts/dynatrace-release-radar-02-26-uekqit2l6) · Dynatrace · 0 upvotes · 0 comments
- [How to Convert Prometheus Histograms to OTLP with the OpenTelemetry Collector](https://daily.dev/posts/how-to-convert-prometheus-histograms-to-otlp-with-the-opentelemetry-collector-eeyizafgb) · freeCodeCamp · 1 upvotes · 0 comments
- [Manage metric volume and tags in your environment with Observability Pipelines](https://daily.dev/posts/manage-metric-volume-and-tags-in-your-environment-with-observability-pipelines-ggv4ousht) · Datadog · 0 upvotes · 0 comments

---

Tags: [#devops](https://daily.dev/tags/devops), [#observability](https://daily.dev/tags/observability), [#opentelemetry](https://daily.dev/tags/opentelemetry)

[View this post on daily.dev](https://daily.dev/posts/create-histogram-metrics-at-ingest-with-openpipeline-imvvjymcj)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Create histogram metrics at ingest with OpenPipeline","url":"https://daily.dev/posts/create-histogram-metrics-at-ingest-with-openpipeline-imvvjymcj","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/create-histogram-metrics-at-ingest-with-openpipeline-imvvjymcj"},"datePublished":"2026-08-14T10:30:19.538Z","dateModified":"2026-08-24T06:57:05.280Z","description":"Dynatrace now extracts histogram metrics directly from spans and logs during ingestion using OpenPipeline, eliminating the need to re-instrument services to...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/d2cb96eb53282c43503808249cf0b442?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/d2cb96eb53282c43503808249cf0b442?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Dynatrace","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Dynatrace","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/3ca5a9897e9748f4a39fa9736389609e","url":"https://daily.dev/sources/dynatrace"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/create-histogram-metrics-at-ingest-with-openpipeline-imvvjymcj","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"devops,observability,opentelemetry","timeRequired":"PT5M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Dynatrace","item":"https://daily.dev/sources/dynatrace"},{"@type":"ListItem","position":3,"name":"Create histogram metrics at ingest with OpenPipeline"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/create-histogram-metrics-at-ingest-with-openpipeline-imvvjymcj#faq","mainEntity":[{"@type":"Question","name":"How can I get percentile metrics like p99 latency without re-instrumenting my services in Dynatrace?","acceptedAnswer":{"@type":"Answer","text":"Dynatrace OpenPipeline can extract histogram metrics directly from spans and logs already being ingested, without changing SDKs, applications, or OpenTelemetry collectors. You configure a histogram metric extraction rule that converts span or log data into exponential histogram metrics at ingest time, which are then queryable with functions like timeseries percentile() instead of scanning raw telemetry on every query. Developers weighing observability pipeline changes can track platform updates like this on daily.dev."}},{"@type":"Question","name":"What is the new percentRank() function in Dynatrace Query Language used for?","acceptedAnswer":{"@type":"Answer","text":"percentRank() is a Dynatrace Query Language aggregation function that returns the estimated fraction of observations below a given threshold, working in the opposite direction from a percentile calculation. Given a latency threshold like 500 ms, it answers what fraction of requests completed under that value, making it useful for defining SLOs based on latency distributions rather than simple averages. Teams building latency-based SLOs can follow DQL feature updates like this via daily.dev."}},{"@type":"Question","name":"Why do average response time metrics hide performance problems?","acceptedAnswer":{"@type":"Answer","text":"An average blends fast and slow requests into one misleading number; for example, if 80% of requests complete in 10 ms while 20% take 2 seconds, the average comes out to 408 ms, representing neither group accurately. Once only the average is stored, the underlying distribution is lost, making it impossible to analyze percentiles, tail latency, or SLO compliance afterward. Anyone debugging misleading latency dashboards can find deeper observability explainers through daily.dev."}}]}
```

