From aae94480890c1305f64cba2910fdf46b833171d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gy=C3=B6rgy=20Krajcsovits?= Date: Mon, 2 Mar 2026 12:14:13 +0100 Subject: [PATCH] fix(om2.0): MUST timestamp exemptions MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Due to classic and native buckets we now have a special case for the timestamps rule. Signed-off-by: György Krajcsovits --- docs/specs/om/open_metrics_spec_2_0.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/docs/specs/om/open_metrics_spec_2_0.md b/docs/specs/om/open_metrics_spec_2_0.md index 7671ae7e7..16eefcf67 100644 --- a/docs/specs/om/open_metrics_spec_2_0.md +++ b/docs/specs/om/open_metrics_spec_2_0.md @@ -142,7 +142,17 @@ Metrics are defined by a unique LabelSet within a MetricFamily. Metrics MUST con MetricPoints SHOULD NOT have explicit timestamps. -If more than one MetricPoint is exposed for a Metric, then its MetricPoints MUST have monotonically increasing timestamps. +If more than one MetricPoint is exposed for a Metric, +then unless it is a special case exempted below, +its MetricPoints MUST have monotonically increasing timestamps. + +Special case exemptions: + +* Two Histogram MetricPoints where one has Classic Buckets and the other has Native Buckets. +* Two GaugeHistogram MetricPoints where one has Classic Buckets and the other has Native Buckets. + +Note: these exemptions allow exposing both Classic and Native Buckets for the +same MetricPoint and letting the ingestor decide which one or both to process. #### MetricFamily