From b4d4dab6df9a15751d566920725e3f8593b900da Mon Sep 17 00:00:00 2001 From: David Ashpole Date: Mon, 9 Mar 2026 18:20:31 +0000 Subject: [PATCH 1/2] add requirements to exemplar timestamps, and clarify exemplar labels Signed-off-by: David Ashpole --- docs/specs/om/open_metrics_spec_2_0.md | 2 +- 1 file changed, 1 insertion(+), 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 ec10d36fd..f1ae8e325 100644 --- a/docs/specs/om/open_metrics_spec_2_0.md +++ b/docs/specs/om/open_metrics_spec_2_0.md @@ -128,7 +128,7 @@ Each MetricPoint consists of a set of values, depending on the MetricFamily type Exemplars are references to data outside of the MetricSet. A common use case are IDs of program traces. -Exemplars MUST consist of a LabelSet and a value, and MUST have a timestamp. They MAY each be different from the MetricPoints' LabelSet and timestamp. +Exemplars MUST consist of a LabelSet and a value, and MUST have a timestamp. The LabelSet SHOULD NOT contain any Label names included in the MetricPoint's LabelSet. The timestamp MUST NOT be after the MetricPoint's timestamp, if present, and MUST NOT be before the MetricPoint's start timestamp, if present. The Exemplar's timestamp SHOULD be close to the point in time when the referenced data was created, but doesn't have to be exact. For example if getting an exact timestamp is costly, it is acceptable to use some external source or synthetic clock. From 7a6c993bec1a7d6643d0e0cede17d785c7267ec9 Mon Sep 17 00:00:00 2001 From: David Ashpole Date: Wed, 11 Mar 2026 10:14:20 -0400 Subject: [PATCH 2/2] Update docs/specs/om/open_metrics_spec_2_0.md Co-authored-by: Bartlomiej Plotka Signed-off-by: David Ashpole --- docs/specs/om/open_metrics_spec_2_0.md | 2 +- 1 file changed, 1 insertion(+), 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 f1ae8e325..549a5bca4 100644 --- a/docs/specs/om/open_metrics_spec_2_0.md +++ b/docs/specs/om/open_metrics_spec_2_0.md @@ -128,7 +128,7 @@ Each MetricPoint consists of a set of values, depending on the MetricFamily type Exemplars are references to data outside of the MetricSet. A common use case are IDs of program traces. -Exemplars MUST consist of a LabelSet and a value, and MUST have a timestamp. The LabelSet SHOULD NOT contain any Label names included in the MetricPoint's LabelSet. The timestamp MUST NOT be after the MetricPoint's timestamp, if present, and MUST NOT be before the MetricPoint's start timestamp, if present. +Exemplars MUST consist of a LabelSet and a value, and MUST have a timestamp. The LabelSet SHOULD NOT contain any Label names included in the MetricPoint's LabelSet. The timestamp SHOULD NOT be after the MetricPoint's timestamp, if present, and SHOULD NOT be before the MetricPoint's start timestamp, if present. The Exemplar's timestamp SHOULD be close to the point in time when the referenced data was created, but doesn't have to be exact. For example if getting an exact timestamp is costly, it is acceptable to use some external source or synthetic clock.