Skip to content

Commit 9298162

Browse files
authored
Merge branch 'main' into rem-vis-enabled
2 parents 6a67f67 + f05162c commit 9298162

File tree

2 files changed

+142
-142
lines changed

2 files changed

+142
-142
lines changed

spec-compliance-matrix.md

Lines changed: 71 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ formats is required. Implementing more than one format is optional.
2121
| Get a Tracer | | + | + | + | + | + | + | + | + | + | + | + |
2222
| Get a Tracer with schema_url | | + | + | | + | | | + | | + | | |
2323
| Get a Tracer with scope attributes | | | | | + | | | + | | + | | |
24-
| Associate Tracer with InstrumentationScope | | | | | + | | | + | | | | |
24+
| Associate Tracer with InstrumentationScope | | | | | + | + | | + | | | | |
2525
| Safe for concurrent calls | | + | + | + | + | + | + | + | + | + | + | + |
2626
| Shutdown (SDK only required) | | + | + | + | + | + | + | + | + | + | + | + |
2727
| ForceFlush (SDK only required) | | + | + | - | + | + | + | + | + | + | + | + |
@@ -102,70 +102,70 @@ formats is required. Implementing more than one format is optional.
102102

103103
| Feature | Optional | Go | Java | JS | Python | Ruby | Erlang | PHP | Rust | C++ | .NET | Swift |
104104
| ------- | -------- | -- | ---- | -- | ------ | ---- | ------ | --- | ---- | --- | ---- | ----- |
105-
| The API provides a way to set and get a global default `MeterProvider`. | X | + | + | + | + | | + | + | + | + | - | |
106-
| It is possible to create any number of `MeterProvider`s. | X | + | + | + | + | | + | + | + | + | + | |
107-
| `MeterProvider` provides a way to get a `Meter`. | | + | + | + | + | | + | + | + | + | - | |
105+
| The API provides a way to set and get a global default `MeterProvider`. | X | + | + | + | + | + | + | + | + | + | - | |
106+
| It is possible to create any number of `MeterProvider`s. | X | + | + | + | + | + | + | + | + | + | + | |
107+
| `MeterProvider` provides a way to get a `Meter`. | | + | + | + | + | + | + | + | + | + | - | |
108108
| `get_meter` accepts name, `version` and `schema_url`. | | + | + | + | + | | + | + | + | + | - | |
109109
| `get_meter` accepts `attributes`. | | | | | + | | | + | + | + | | |
110-
| When an invalid `name` is specified a working `Meter` implementation is returned as a fallback. | | + | + | + | + | | + | | + | + | - | |
111-
| The fallback `Meter` `name` property keeps its original invalid value. | X | - | - | + | + | | + | | + | - | - | |
112-
| Associate `Meter` with `InstrumentationScope`. | | | + | + | + | | + | | + | + | | |
113-
| `Counter` instrument is supported. | | + | + | + | + | | + | + | + | + | + | |
114-
| `AsynchronousCounter` instrument is supported. | | + | + | + | + | | + | + | + | + | + | |
115-
| `Histogram` instrument is supported. | | + | + | + | + | | + | + | + | + | + | |
116-
| `AsynchronousGauge` instrument is supported. | | + | + | + | + | | + | + | + | + | + | |
117-
| `Gauge` instrument is supported. | | - | - | - | + | | - | - | + | - | - | |
118-
| `UpDownCounter` instrument is supported. | | + | + | + | + | | + | + | + | + | + | |
119-
| `AsynchronousUpDownCounter` instrument is supported. | | + | + | + | + | | + | + | + | + | + | |
120-
| Instruments have `name` | | + | + | + | + | | + | + | + | + | + | |
121-
| Instruments have kind. | | + | + | + | + | | + | + | + | + | + | |
122-
| Instruments have an optional unit of measure. | | + | + | + | + | | + | + | + | + | + | |
123-
| Instruments have an optional description. | | + | + | + | + | | + | + | + | + | + | |
124-
| A valid instrument MUST be created and warning SHOULD be emitted when multiple instruments are registered under the same `Meter` using the same `name`. | | | + | + | + | | + | | | | | |
125-
| Duplicate instrument registration name conflicts are resolved by using the first-seen for the stream name. | | | + | | | | + | | | | | |
110+
| When an invalid `name` is specified a working `Meter` implementation is returned as a fallback. | | + | + | + | + | + | + | | + | + | - | |
111+
| The fallback `Meter` `name` property keeps its original invalid value. | X | - | - | + | + | + | + | | + | - | - | |
112+
| Associate `Meter` with `InstrumentationScope`. | | | + | + | + | + | + | | + | + | | |
113+
| `Counter` instrument is supported. | | + | + | + | + | + | + | + | + | + | + | |
114+
| `AsynchronousCounter` instrument is supported. | | + | + | + | + | + | + | + | + | + | + | |
115+
| `Histogram` instrument is supported. | | + | + | + | + | + | + | + | + | + | + | |
116+
| `AsynchronousGauge` instrument is supported. | | + | + | + | + | + | + | + | + | + | + | |
117+
| `Gauge` instrument is supported. | | - | - | - | + | + | - | - | + | - | - | |
118+
| `UpDownCounter` instrument is supported. | | + | + | + | + | + | + | + | + | + | + | |
119+
| `AsynchronousUpDownCounter` instrument is supported. | | + | + | + | + | + | + | + | + | + | + | |
120+
| Instruments have `name` | | + | + | + | + | + | + | + | + | + | + | |
121+
| Instruments have kind. | | + | + | + | + | + | + | + | + | + | + | |
122+
| Instruments have an optional unit of measure. | | + | + | + | + | + | + | + | + | + | + | |
123+
| Instruments have an optional description. | | + | + | + | + | + | + | + | + | + | + | |
124+
| A valid instrument MUST be created and warning SHOULD be emitted when multiple instruments are registered under the same `Meter` using the same `name`. | | | + | + | + | + | + | | | | | |
125+
| Duplicate instrument registration name conflicts are resolved by using the first-seen for the stream name. | | | + | | | - | + | | | | | |
126126
| It is possible to register two instruments with same `name` under different `Meter`s. | | + | + | + | + | | + | | + | + | + | |
127-
| Instrument names conform to the specified syntax. | | + | + | + | + | | + | | | + | | |
128-
| Instrument units conform to the specified syntax. | | - | + | | + | | - | | + | + | + | |
129-
| Instrument descriptions conform to the specified syntax. | | - | + | | - | | - | | | - | + | |
127+
| Instrument names conform to the specified syntax. | | + | + | + | + | + | + | | | + | | |
128+
| Instrument units conform to the specified syntax. | | - | + | | + | + | - | | + | + | + | |
129+
| Instrument descriptions conform to the specified syntax. | | - | + | | - | + | - | | | - | + | |
130130
| Instrument supports the advisory ExplicitBucketBoundaries parameter. | | | + | | | | + | | | | | |
131131
| Instrument supports the advisory Attributes parameter. | | | + | | | | - | | | | | |
132132
| All methods of `MeterProvider` are safe to be called concurrently. | | + | + | + | - | | + | | | + | + | |
133133
| All methods of `Meter` are safe to be called concurrently. | | + | + | + | - | | + | | | + | + | |
134134
| All methods of any instrument are safe to be called concurrently. | | + | + | + | - | | + | | | + | + | |
135-
| `MeterProvider` allows a `Resource` to be specified. | | + | + | + | + | | | + | + | + | + | |
136-
| A specified `Resource` can be associated with all the produced metrics from any `Meter` from the `MeterProvider`. | | + | + | + | + | | | + | + | + | + | |
135+
| `MeterProvider` allows a `Resource` to be specified. | | + | + | + | + | + | | + | + | + | + | |
136+
| A specified `Resource` can be associated with all the produced metrics from any `Meter` from the `MeterProvider`. | | + | + | + | + | + | | + | + | + | + | |
137137
| The supplied `name`, `version` and `schema_url` arguments passed to the `MeterProvider` are used to create an `InstrumentationLibrary` instance stored in the `Meter`. | | + | - | | + | | | | + | + | - | |
138138
| The supplied `name`, `version` and `schema_url` arguments passed to the `MeterProvider` are used to create an `InstrumentationScope` instance stored in the `Meter`. | | | + | + | + | | + | + | + | + | | |
139139
| Configuration is managed solely by the `MeterProvider`. | | + | + | + | + | | + | + | + | + | + | |
140140
| The `MeterProvider` provides methods to update the configuration | X | - | - | - | + | | - | | | - | + | |
141141
| The updated configuration applies to all already returned `Meter`s. | if above | - | - | - | - | | - | | | - | + | |
142-
| There is a way to register `View`s with a `MeterProvider`. | | - | + | + | + | | + | + | + | + | + | |
143-
| The `View` instrument selection criteria is as specified. | | | + | + | + | | + | + | + | + | + | |
144-
| The `View` instrument selection criteria supports wildcards. | X | | + | + | + | | - | | + | + | + | |
145-
| The `View` instrument selection criteria supports the match-all wildcard. | | | + | + | + | | + | | + | + | + | |
146-
| The name of the `View` can be specified. | | | + | + | + | | + | + | | + | + | |
142+
| There is a way to register `View`s with a `MeterProvider`. | | - | + | + | + | + | + | + | + | + | + | |
143+
| The `View` instrument selection criteria is as specified. | | | + | + | + | + | + | + | + | + | + | |
144+
| The `View` instrument selection criteria supports wildcards. | X | | + | + | + | + | - | | + | + | + | |
145+
| The `View` instrument selection criteria supports the match-all wildcard. | | | + | + | + | + | + | | + | + | + | |
146+
| The name of the `View` can be specified. | | | + | + | + | + | + | + | | + | + | |
147147
| The `View` allows configuring the name, description, attributes keys and aggregation of the resulting metric stream. | | | + | + | + | | + | + | + | + | - | |
148148
| The `View` allows configuring excluded attribute keys of resulting metric stream. | | + | | | | | | | | | | |
149149
| The `View` allows configuring the exemplar reservoir of resulting metric stream. | X | | - | | - | | - | | | | - | |
150-
| The SDK allows more than one `View` to be specified per instrument. | X | | + | + | + | | + | | + | + | + | |
151-
| The `Drop` aggregation is available. | | + | + | + | + | | + | | + | + | + | |
152-
| The `Default` aggregation is available. | | + | + | + | + | | + | | + | + | + | |
153-
| The `Default` aggregation uses the specified aggregation by instrument. | | + | + | + | + | | + | | + | + | + | |
154-
| The `Sum` aggregation is available. | | + | + | + | + | | + | + | + | + | + | |
155-
| The `LastValue` aggregation is available. | | + | + | + | + | | + | + | + | + | + | |
156-
| The `ExplicitBucketHistogram` aggregation is available. | | - | + | + | + | | + | + | + | + | + | |
157-
| The `ExponentialBucketHistogram` aggregation is available. | | | | | + | | | | | | + | |
158-
| The metrics Reader implementation supports registering metric Exporters | | | + | + | + | | + | + | + | + | + | |
159-
| The metrics Reader implementation supports configuring the default aggregation on the basis of instrument kind. | | | + | | + | | + | | | - | - | |
160-
| The metrics Reader implementation supports configuring the default temporality on the basis of instrument kind. | | | + | + | + | | + | | + | + | | |
161-
| The metrics Exporter has access to the aggregated metrics data (aggregated points, not raw measurements). | | + | + | + | + | | + | | + | + | + | |
162-
| The metrics Exporter `export` function can not be called concurrently from the same Exporter instance. | | + | + | + | - | | + | | | + | + | |
163-
| The metrics Exporter `export` function does not block indefinitely. | | + | + | + | - | | + | | | + | + | |
164-
| The metrics Exporter `export` function receives a batch of metrics. | | + | + | + | + | | + | + | + | + | + | |
165-
| The metrics Exporter `export` function returns `Success` or `Failure`. | | + | + | + | + | | + | + | + | + | + | |
166-
| The metrics Exporter provides a `ForceFlush` function. | | - | + | + | + | | + | + | + | + | + | |
167-
| The metrics Exporter `ForceFlush` can inform the caller whether it succeeded, failed or timed out. | | | + | + | + | | + | + | | + | + | |
168-
| The metrics Exporter provides a `shutdown` function. | | + | + | + | + | | + | + | + | + | + | |
150+
| The SDK allows more than one `View` to be specified per instrument. | X | | + | + | + | + | + | | + | + | + | |
151+
| The `Drop` aggregation is available. | | + | + | + | + | + | + | | + | + | + | |
152+
| The `Default` aggregation is available. | | + | + | + | + | + | + | | + | + | + | |
153+
| The `Default` aggregation uses the specified aggregation by instrument. | | + | + | + | + | + | + | | + | + | + | |
154+
| The `Sum` aggregation is available. | | + | + | + | + | + | + | + | + | + | + | |
155+
| The `LastValue` aggregation is available. | | + | + | + | + | + | + | + | + | + | + | |
156+
| The `ExplicitBucketHistogram` aggregation is available. | | - | + | + | + | + | + | + | + | + | + | |
157+
| The `ExponentialBucketHistogram` aggregation is available. | | | | | + | + | | | | | + | |
158+
| The metrics Reader implementation supports registering metric Exporters | | | + | + | + | + | + | + | + | + | + | |
159+
| The metrics Reader implementation supports configuring the default aggregation on the basis of instrument kind. | | | + | | + | + | + | | | - | - | |
160+
| The metrics Reader implementation supports configuring the default temporality on the basis of instrument kind. | | | + | + | + | + | + | | + | + | | |
161+
| The metrics Exporter has access to the aggregated metrics data (aggregated points, not raw measurements). | | + | + | + | + | + | + | | + | + | + | |
162+
| The metrics Exporter `export` function can not be called concurrently from the same Exporter instance. | | + | + | + | - | + | + | | | + | + | |
163+
| The metrics Exporter `export` function does not block indefinitely. | | + | + | + | - | + | + | | | + | + | |
164+
| The metrics Exporter `export` function receives a batch of metrics. | | + | + | + | + | + | + | + | + | + | + | |
165+
| The metrics Exporter `export` function returns `Success` or `Failure`. | | + | + | + | + | + | + | + | + | + | + | |
166+
| The metrics Exporter provides a `ForceFlush` function. | | - | + | + | + | + | + | + | + | + | + | |
167+
| The metrics Exporter `ForceFlush` can inform the caller whether it succeeded, failed or timed out. | | | + | + | + | + | + | + | | + | + | |
168+
| The metrics Exporter provides a `shutdown` function. | | + | + | + | + | + | + | + | + | + | + | |
169169
| The metrics Exporter `shutdown` function do not block indefinitely. | | + | + | + | - | | + | | | + | + | |
170170
| The metrics SDK samples `Exemplar`s from measurements. | | | + | | - | | + | | | | + | |
171171
| Exemplar sampling can be disabled. | | | - | | - | | + | | | | + | |
@@ -194,23 +194,23 @@ Disclaimer: this list of features is still a work in progress, please refer to t
194194

195195
| Feature | Optional | Go | Java | JS | Python | Ruby | Erlang | PHP | Rust | C++ | .NET | Swift |
196196
| ------- | -------- | -- | ---- | -- | ------ | ---- | ------ | --- | ---- | --- | ---- | ----- |
197-
| LoggerProvider.Get Logger | | | + | | + | | | + | | + | - | |
197+
| LoggerProvider.Get Logger | | | + | | + | + | | + | | + | - | |
198198
| LoggerProvider.Get Logger accepts attributes | | | | | + | | | + | | + | | |
199-
| LoggerProvider.Shutdown | | | + | | + | | | + | | + | - | |
200-
| LoggerProvider.ForceFlush | | | + | | + | | | + | | + | - | |
201-
| Logger.Emit(LogRecord) | | | + | | + | | | + | | + | - | |
199+
| LoggerProvider.Shutdown | | | + | | + | + | | + | | + | - | |
200+
| LoggerProvider.ForceFlush | | | + | | + | + | | + | | + | - | |
201+
| Logger.Emit(LogRecord) | | | + | | + | + | | + | | + | - | |
202202
| Reuse Standard Attributes | X | + | | | | | | | | | | |
203203
| LogRecord.Set EventName | | + | | | | | | | + | + | | |
204204
| Logger.Enabled | X | + | | | | | | | + | + | | |
205-
| SimpleLogRecordProcessor | | | + | | + | | | + | | + | | |
206-
| BatchLogRecordProcessor | | | + | | + | | | + | | + | | |
207-
| Can plug custom LogRecordProcessor | | | + | | + | | | + | | + | | |
208-
| LogRecordProcessor.Enabled | X | + | | | | | | | + | | | |
205+
| SimpleLogRecordProcessor | | | + | | + | + | | + | | + | | |
206+
| BatchLogRecordProcessor | | | + | | + | + | | + | | + | | |
207+
| Can plug custom LogRecordProcessor | | | + | | + | + | | + | | + | | |
208+
| LogRecordProcessor.Enabled | X | + | | | | + | | | + | | | |
209209
| OTLP/gRPC exporter | | | + | | + | | | + | | + | + | |
210-
| OTLP/HTTP exporter | | | + | | + | | | + | | + | + | |
210+
| OTLP/HTTP exporter | | | + | | + | + | | + | | + | + | |
211211
| OTLP File exporter | | | - | | - | | | | | + | - | |
212-
| Can plug custom LogRecordExporter | | | + | | + | | | + | | + | | |
213-
| Trace Context Injection | | | + | | + | | | + | | + | + | |
212+
| Can plug custom LogRecordExporter | | | + | | + | + | | + | | + | | |
213+
| Trace Context Injection | | | + | | + | + | | + | | + | + | |
214214

215215
## Resource
216216

@@ -253,35 +253,35 @@ Note: Support for environment variables is optional.
253253

254254
| Feature | Go | Java | JS | Python | Ruby | Erlang | PHP | Rust | C++ | .NET | Swift |
255255
| ------- | -- | ---- | -- | ------ | ---- | ------ | --- | ---- | --- | ---- | ----- |
256-
| OTEL_SDK_DISABLED | - | + | - | + | - | - | + | - | - | - | - |
256+
| OTEL_SDK_DISABLED | - | + | - | + | + | - | + | - | - | - | - |
257257
| OTEL_RESOURCE_ATTRIBUTES | + | + | + | + | + | + | + | + | + | + | - |
258258
| OTEL_SERVICE_NAME | + | + | + | + | + | + | + | | + | + | |
259259
| OTEL_LOG_LEVEL | - | - | + | [-][py1059] | + | - | + | | - | - | - |
260260
| OTEL_PROPAGATORS | - | + | | + | + | + | + | - | - | - | - |
261261
| OTEL_BSP_* | + | + | + | + | + | + | + | + | - | + | - |
262-
| OTEL_BLRP_* | | + | | | | | | + | - | + | |
262+
| OTEL_BLRP_* | | + | | | + | | | + | - | + | |
263263
| OTEL_EXPORTER_OTLP_* | + | + | | + | + | + | + | + | + | + | - |
264264
| OTEL_EXPORTER_ZIPKIN_* | - | + | | + | + | - | + | - | - | + | - |
265265
| OTEL_TRACES_EXPORTER | - | + | + | + | + | + | + | - | - | - | |
266-
| OTEL_METRICS_EXPORTER | - | + | | + | - | - | + | - | - | - | - |
267-
| OTEL_LOGS_EXPORTER | - | + | | + | | | + | | - | - | |
266+
| OTEL_METRICS_EXPORTER | - | + | | + | + | - | + | - | - | - | - |
267+
| OTEL_LOGS_EXPORTER | - | + | | + | + | | + | | - | - | |
268268
| OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT | + | + | + | + | + | + | + | + | - | + | |
269269
| OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT | + | + | + | + | + | + | + | | - | + | |
270270
| OTEL_SPAN_EVENT_COUNT_LIMIT | + | + | + | + | + | + | + | + | - | + | |
271271
| OTEL_SPAN_LINK_COUNT_LIMIT | + | + | + | + | + | + | + | + | - | + | |
272272
| OTEL_EVENT_ATTRIBUTE_COUNT_LIMIT | + | - | | + | + | + | + | | - | + | |
273273
| OTEL_LINK_ATTRIBUTE_COUNT_LIMIT | + | - | | + | + | + | + | | - | + | |
274-
| OTEL_LOGRECORD_ATTRIBUTE_COUNT_LIMIT | | | | | | | + | | - | | |
275-
| OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT | | | | | | | + | | - | | |
274+
| OTEL_LOGRECORD_ATTRIBUTE_COUNT_LIMIT | | | | | + | | + | | - | | |
275+
| OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT | | | | | + | | + | | - | | |
276276
| OTEL_TRACES_SAMPLER | + | + | + | + | + | + | + | - | - | - | |
277277
| OTEL_TRACES_SAMPLER_ARG | + | + | + | + | + | + | + | - | - | - | |
278278
| OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT | + | + | + | + | + | - | + | | - | + | |
279279
| OTEL_ATTRIBUTE_COUNT_LIMIT | + | + | + | + | + | - | + | | - | + | |
280-
| OTEL_METRIC_EXPORT_INTERVAL | - | + | | + | | | + | | - | + | |
281-
| OTEL_METRIC_EXPORT_TIMEOUT | - | - | | + | | | + | | - | + | |
282-
| OTEL_METRICS_EXEMPLAR_FILTER | - | + | | | | | + | | - | + | |
283-
| OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE | + | + | + | + | | | + | | - | + | |
284-
| OTEL_EXPORTER_OTLP_METRICS_DEFAULT_HISTOGRAM_AGGREGATION | | + | | + | | | | | - | | |
280+
| OTEL_METRIC_EXPORT_INTERVAL | - | + | | + | + | | + | | - | + | |
281+
| OTEL_METRIC_EXPORT_TIMEOUT | - | - | | + | + | | + | | - | + | |
282+
| OTEL_METRICS_EXEMPLAR_FILTER | - | + | | | + | | + | | - | + | |
283+
| OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE | + | + | + | + | + | | + | | - | + | |
284+
| OTEL_EXPORTER_OTLP_METRICS_DEFAULT_HISTOGRAM_AGGREGATION | | + | | + | + | | | | - | | |
285285
| OTEL_EXPERIMENTAL_CONFIG_FILE | | | | | | | | | - | | |
286286

287287
## Declarative configuration

0 commit comments

Comments
 (0)