From a160e260846795e4604501dfac84a46c47ac6c60 Mon Sep 17 00:00:00 2001 From: Douglas Barker Date: Fri, 20 Mar 2026 17:08:53 -0400 Subject: [PATCH] Update C++ spec compliance matrix with support for tracer provider scope association, duplicate instrument registration, gauge instrument, and exponential histogram aggregation --- spec-compliance-matrix.md | 10 +++++----- spec-compliance-matrix/cpp.yaml | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/spec-compliance-matrix.md b/spec-compliance-matrix.md index 3922588d214..d3813b96b29 100644 --- a/spec-compliance-matrix.md +++ b/spec-compliance-matrix.md @@ -21,7 +21,7 @@ formats is required. Implementing more than one format is optional. | Get a Tracer | | + | + | + | + | + | + | + | + | + | + | + | + | | Get a Tracer with schema_url | | + | + | + | + | | | + | + | + | | | + | | Get a Tracer with scope attributes | | + | | | + | | | + | + | + | | | + | -| Associate Tracer with InstrumentationScope | | + | | + | + | + | | + | + | | | | + | +| Associate Tracer with InstrumentationScope | | + | | + | + | + | | + | + | + | | | + | | Safe for concurrent calls | | + | + | + | + | + | + | + | + | + | + | + | + | | Shutdown (SDK only required) | | + | + | + | + | + | + | + | + | + | + | + | + | | ForceFlush (SDK only required) | | + | + | + | + | + | + | + | + | + | + | + | + | @@ -115,15 +115,15 @@ formats is required. Implementing more than one format is optional. | `AsynchronousCounter` instrument is supported. | | + | + | + | + | + | + | + | + | + | + | | - | | `Histogram` instrument is supported. | | + | + | + | + | + | + | + | + | + | + | | - | | `AsynchronousGauge` instrument is supported. | | + | + | + | + | + | + | + | + | + | + | | - | -| `Gauge` instrument is supported. | | + | - | + | + | + | - | + | + | - | - | | - | +| `Gauge` instrument is supported. | | + | - | + | + | + | - | + | + | + | - | | - | | `UpDownCounter` instrument is supported. | | + | + | + | + | + | + | + | + | + | + | | - | | `AsynchronousUpDownCounter` instrument is supported. | | + | + | + | + | + | + | + | + | + | + | | - | | Instruments have `name` | | + | + | + | + | + | + | + | + | + | + | | - | | Instruments have kind. | | + | + | + | + | + | + | + | + | + | + | | - | | Instruments have an optional unit of measure. | | + | + | + | + | + | + | + | + | + | + | | - | | Instruments have an optional description. | | + | + | + | + | + | + | + | + | + | + | | - | -| A valid instrument MUST be created and warning SHOULD be emitted when multiple instruments are registered under the same `Meter` using the same `name`. | | + | + | + | + | + | + | | | | | | - | -| Duplicate instrument registration name conflicts are resolved by using the first-seen for the stream name. | | | + | | | - | + | | | | | | - | +| A valid instrument MUST be created and warning SHOULD be emitted when multiple instruments are registered under the same `Meter` using the same `name`. | | + | + | + | + | + | + | | | + | | | - | +| Duplicate instrument registration name conflicts are resolved by using the first-seen for the stream name. | | | + | | | - | + | | | + | | | - | | It is possible to register two instruments with same `name` under different `Meter`s. | | + | + | + | + | | + | | + | + | + | | - | | Instrument names conform to the specified syntax. | | + | + | + | + | + | + | | | + | | | - | | Instrument units conform to the specified syntax. | | - | + | | + | + | + | | + | + | + | | - | @@ -155,7 +155,7 @@ formats is required. Implementing more than one format is optional. | The `Sum` aggregation is available. | | + | + | + | + | + | + | + | + | + | + | | - | | The `LastValue` aggregation is available. | | + | + | + | + | + | + | + | + | + | + | | - | | The `ExplicitBucketHistogram` aggregation is available. | | + | + | + | + | + | + | + | + | + | + | | - | -| The `ExponentialBucketHistogram` aggregation is available. | | + | | + | + | + | | | | | + | | - | +| The `ExponentialBucketHistogram` aggregation is available. | | + | | + | + | + | | | | + | + | | - | | The metrics Reader implementation supports registering metric Exporters | | + | + | + | + | + | + | + | + | + | + | | - | | The metrics Reader implementation supports configuring the default aggregation on the basis of instrument kind. | | + | + | + | + | + | + | | | - | - | | - | | The metrics Reader implementation supports configuring the default temporality on the basis of instrument kind. | | + | + | + | + | + | + | | + | + | | | - | diff --git a/spec-compliance-matrix/cpp.yaml b/spec-compliance-matrix/cpp.yaml index f5eff015b30..a468cb9c87c 100644 --- a/spec-compliance-matrix/cpp.yaml +++ b/spec-compliance-matrix/cpp.yaml @@ -20,7 +20,7 @@ sections: - name: Get a Tracer with scope attributes status: '+' - name: Associate Tracer with InstrumentationScope - status: '?' + status: '+' - name: Safe for concurrent calls status: '+' - name: Shutdown (SDK only required) @@ -192,7 +192,7 @@ sections: - name: '`AsynchronousGauge` instrument is supported.' status: '+' - name: '`Gauge` instrument is supported.' - status: '-' + status: '+' - name: '`UpDownCounter` instrument is supported.' status: '+' - name: '`AsynchronousUpDownCounter` instrument is supported.' @@ -208,9 +208,9 @@ sections: - name: A valid instrument MUST be created and warning SHOULD be emitted when multiple instruments are registered under the same `Meter` using the same `name`. - status: '?' + status: '+' - name: Duplicate instrument registration name conflicts are resolved by using the first-seen for the stream name. - status: '?' + status: '+' - name: It is possible to register two instruments with same `name` under different `Meter`s. status: '+' - name: Instrument names conform to the specified syntax. @@ -278,7 +278,7 @@ sections: - name: The `ExplicitBucketHistogram` aggregation is available. status: '+' - name: The `ExponentialBucketHistogram` aggregation is available. - status: '?' + status: '+' - name: The metrics Reader implementation supports registering metric Exporters status: '+' - name: The metrics Reader implementation supports configuring the default aggregation on the basis of instrument kind.