From 2653d1748e888b5235d9193ef8992291f2790940 Mon Sep 17 00:00:00 2001 From: Arthur Silva Sens Date: Wed, 4 Feb 2026 16:37:37 -0300 Subject: [PATCH 1/4] Stabilize Prometheus Summary -> OTLP Summary Signed-off-by: Arthur Silva Sens --- CHANGELOG.md | 3 +++ specification/compatibility/prometheus_and_openmetrics.md | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0bc0648f16a..ae2dd7d9bf1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -29,6 +29,9 @@ release. ### Compatibility +- Stabilize Prometheus Summary to OTLP Summary transformation. + ([#4872](https://github.com/open-telemetry/opentelemetry-specification/pull/4872)) + ### SDK Configuration ### Supplementary Guidelines diff --git a/specification/compatibility/prometheus_and_openmetrics.md b/specification/compatibility/prometheus_and_openmetrics.md index 1dbc61f0b13..707b02e597c 100644 --- a/specification/compatibility/prometheus_and_openmetrics.md +++ b/specification/compatibility/prometheus_and_openmetrics.md @@ -182,7 +182,7 @@ Native Histograms with `Schema` outside of the range [-4, 8] MUST be dropped. ### Summaries -**Status**: [Development](../document-status.md) +**Status**: [Stable](../document-status.md) [Prometheus Summary](https://prometheus.io/docs/instrumenting/exposition_formats/#basic-info) MUST be converted to an OTLP Summary. From 7ae6c51e6dc49886923f8669df3f6318820d5b26 Mon Sep 17 00:00:00 2001 From: Arthur Silva Sens Date: Tue, 17 Feb 2026 16:56:12 -0300 Subject: [PATCH 2/4] Address comments Signed-off-by: Arthur Silva Sens --- .../compatibility/prometheus_and_openmetrics.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/specification/compatibility/prometheus_and_openmetrics.md b/specification/compatibility/prometheus_and_openmetrics.md index 707b02e597c..a8b29311501 100644 --- a/specification/compatibility/prometheus_and_openmetrics.md +++ b/specification/compatibility/prometheus_and_openmetrics.md @@ -184,12 +184,14 @@ Native Histograms with `Schema` outside of the range [-4, 8] MUST be dropped. **Status**: [Stable](../document-status.md) -[Prometheus Summary](https://prometheus.io/docs/instrumenting/exposition_formats/#basic-info) MUST be converted to an OTLP Summary. +[Prometheus Summary](https://prometheus.io/docs/instrumenting/exposition_formats/#basic-info) MUST be converted to an [OTLP Summary](https://opentelemetry.io/docs/specs/otel/metrics/data-model/#summary-legacy). -Multiple Prometheus metrics are merged together into a single OTLP Summary: +Prometheus Summary Quantiles become OTLP Summary Quantiles. Prometheus Summary Count becomes OTLP Summary Count and Prometheus Summary Sum becomes OTLP Summary Sums. + +In the text format, samples without suffixes have the `quantile` label to identify the quantile points of the Prometheus Summary. Extra samples with the same metric name but with the suffixes `_count` and `_sum` are used to identify the Prometheus Summary Count and Sum respectively. + +Multiple samples with same metric name MUST bemerged together into a single OTLP Summary. -* The `quantile` label on non-suffixed metrics is used to identify quantile points in summary metrics. Each Prometheus line produces one quantile on the resulting summary. -* Lines with `_count` and `_sum` suffixes are used to determine the summary's count and sum. * If `_count` is not present, the metric MUST be dropped. * If `_sum` is not present, the summary's sum MUST be [set to zero.](https://github.com/open-telemetry/opentelemetry-proto/blob/d8729d40f629dba12694b44c4c32c1eab109b00a/opentelemetry/proto/metrics/v1/metrics.proto#L601) From 26229aee1764548e621d68c268a6d8197392d638 Mon Sep 17 00:00:00 2001 From: Arthur Silva Sens Date: Tue, 17 Feb 2026 17:00:18 -0300 Subject: [PATCH 3/4] Fix trailing space in prometheus_and_openmetrics.md Removes trailing space to fix markdownlint MD009 violation. Co-authored-by: Cursor --- specification/compatibility/prometheus_and_openmetrics.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/specification/compatibility/prometheus_and_openmetrics.md b/specification/compatibility/prometheus_and_openmetrics.md index a8b29311501..17da23507cf 100644 --- a/specification/compatibility/prometheus_and_openmetrics.md +++ b/specification/compatibility/prometheus_and_openmetrics.md @@ -188,7 +188,7 @@ Native Histograms with `Schema` outside of the range [-4, 8] MUST be dropped. Prometheus Summary Quantiles become OTLP Summary Quantiles. Prometheus Summary Count becomes OTLP Summary Count and Prometheus Summary Sum becomes OTLP Summary Sums. -In the text format, samples without suffixes have the `quantile` label to identify the quantile points of the Prometheus Summary. Extra samples with the same metric name but with the suffixes `_count` and `_sum` are used to identify the Prometheus Summary Count and Sum respectively. +In the text format, samples without suffixes have the `quantile` label to identify the quantile points of the Prometheus Summary. Extra samples with the same metric name but with the suffixes `_count` and `_sum` are used to identify the Prometheus Summary Count and Sum respectively. Multiple samples with same metric name MUST bemerged together into a single OTLP Summary. From a849a63ac64aca620787581e0a31949bcbb41562 Mon Sep 17 00:00:00 2001 From: Arthur Silva Sens Date: Tue, 17 Feb 2026 18:05:30 -0300 Subject: [PATCH 4/4] Apply suggestions from code review Co-authored-by: David Ashpole --- specification/compatibility/prometheus_and_openmetrics.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/specification/compatibility/prometheus_and_openmetrics.md b/specification/compatibility/prometheus_and_openmetrics.md index 17da23507cf..97189cded43 100644 --- a/specification/compatibility/prometheus_and_openmetrics.md +++ b/specification/compatibility/prometheus_and_openmetrics.md @@ -186,11 +186,11 @@ Native Histograms with `Schema` outside of the range [-4, 8] MUST be dropped. [Prometheus Summary](https://prometheus.io/docs/instrumenting/exposition_formats/#basic-info) MUST be converted to an [OTLP Summary](https://opentelemetry.io/docs/specs/otel/metrics/data-model/#summary-legacy). -Prometheus Summary Quantiles become OTLP Summary Quantiles. Prometheus Summary Count becomes OTLP Summary Count and Prometheus Summary Sum becomes OTLP Summary Sums. +Prometheus Summary Quantiles become OTLP Summary Quantiles. Prometheus Summary Count becomes OTLP Summary Count and Prometheus Summary Sum becomes OTLP Summary Sum. In the text format, samples without suffixes have the `quantile` label to identify the quantile points of the Prometheus Summary. Extra samples with the same metric name but with the suffixes `_count` and `_sum` are used to identify the Prometheus Summary Count and Sum respectively. -Multiple samples with same metric name MUST bemerged together into a single OTLP Summary. +In text formats where Prometheus Summaries are represented by multiple samples, samples with same [metric family](https://github.com/prometheus/OpenMetrics/blob/main/specification/OpenMetrics.md#metricfamily) name MUST be merged together into a single OTLP Summary. * If `_count` is not present, the metric MUST be dropped. * If `_sum` is not present, the summary's sum MUST be [set to zero.](https://github.com/open-telemetry/opentelemetry-proto/blob/d8729d40f629dba12694b44c4c32c1eab109b00a/opentelemetry/proto/metrics/v1/metrics.proto#L601)