Skip to content

Commit f6d1762

Browse files
authored
Merge branch 'main' into async_drop
2 parents 12672d4 + fce0a69 commit f6d1762

File tree

8 files changed

+164
-68
lines changed

8 files changed

+164
-68
lines changed

CHANGELOG.md

+55-2
Original file line numberDiff line numberDiff line change
@@ -13,26 +13,81 @@ release.
1313

1414
### Metrics
1515

16+
- Increase metric name maximum length from 63 to 255 characters.
17+
([#3648](https://github.com/open-telemetry/opentelemetry-specification/pull/3648))
18+
- MetricReader.Collect ignores Resource from MetricProducer.Produce.
19+
([#3636](https://github.com/open-telemetry/opentelemetry-specification/pull/3636))
20+
21+
### Logs
22+
23+
### Resource
24+
25+
### Compatibility
26+
27+
- OpenTracing Shim: Allow invalid but sampled SpanContext to be returned.
28+
([#3471](https://github.com/open-telemetry/opentelemetry-specification/pull/3471))
29+
30+
### SDK Configuration
31+
32+
### Common
33+
34+
### Supplemenatary Guidelines
35+
36+
## v1.24.0 (2023-08-10)
37+
38+
### Context
39+
40+
- No changes.
41+
42+
### Traces
43+
44+
- No changes.
45+
46+
### Metrics
47+
48+
- Specify how to handle instrument name conflicts.
49+
([#3626](https://github.com/open-telemetry/opentelemetry-specification/pull/3626))
1650
- Add experimental metric attributes advice API.
1751
([#3546](https://github.com/open-telemetry/opentelemetry-specification/pull/3546))
1852
- Revise the exemplar default reservoirs.
1953
([#3627](https://github.com/open-telemetry/opentelemetry-specification/pull/3627))
54+
- Mark the default aggregation cardinality Experimental in MetricReader.
55+
([#3619](https://github.com/open-telemetry/opentelemetry-specification/pull/3619))
56+
- Mark Metric No-Op API as stable.
57+
([#3642](https://github.com/open-telemetry/opentelemetry-specification/pull/3642))
58+
- MetricProducers are provided as config to MetricReaders instead of through a RegisterProducer operation.
59+
([#3613](https://github.com/open-telemetry/opentelemetry-specification/pull/3613))
60+
- Refine `MetricProvider.ForceFlush` and define `ForceFlush` for periodic exporting MetricReader.
61+
([#3563](https://github.com/open-telemetry/opentelemetry-specification/pull/3563))
2062

2163
### Logs
2264

65+
- Clarify how log appender use Scope name and attributes.
66+
([#3583](https://github.com/open-telemetry/opentelemetry-specification/pull/3583))
67+
- Mark No-Op Logs Bridge API as stable.
68+
([#3642](https://github.com/open-telemetry/opentelemetry-specification/pull/3642))
69+
2370
### Resource
2471

72+
- No changes.
73+
2574
### Compatibility
2675

2776
- Prometheus exporters SHOULD provide configuration to disable the addition of `_total` suffixes.
2877
([#3590](https://github.com/open-telemetry/opentelemetry-specification/pull/3590))
2978

3079
### SDK Configuration
3180

81+
- No changes.
82+
3283
### Common
3384

85+
- No changes.
86+
3487
### Supplemenatary Guidelines
3588

89+
- No changes.
90+
3691
## v1.23.0 (2023-07-12)
3792

3893
### Context
@@ -67,8 +122,6 @@ release.
67122
([#3559](https://github.com/open-telemetry/opentelemetry-specification/pull/3559))
68123
- Make SDK Logger Creation more normative.
69124
([#3529](https://github.com/open-telemetry/opentelemetry-specification/pull/3529))
70-
- Clarify how log appender use Scope name and attributes.
71-
([#3583](https://github.com/open-telemetry/opentelemetry-specification/pull/3583))
72125

73126
### Resource
74127

spec-compliance-matrix.md

+13-10
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ formats is required. Implementing more than one format is optional.
117117
| Instruments have an optional description. | | + | + | + | + | | | + | + | + | + | |
118118
| Instruments have an optional advice. | | | | | | | | | | | | |
119119
| A valid instrument MUST be created and warning SHOULD be emitted when multiple instruments are registered under the same `Meter` using the same `name`. | | | + | + | + | | | | | | | |
120+
| Duplicate instrument registration name conflicts are resolved by using the first-seen for the stream name. | | | + | | | | | | | | | |
120121
| It is possible to register two instruments with same `name` under different `Meter`s. | | + | + | + | + | | | | + | + | + | |
121122
| Instrument names conform to the specified syntax. | | - | + | | + | | | | + | + | + | |
122123
| Instrument units conform to the specified syntax. | | - | + | | + | | | | + | + | + | |
@@ -218,19 +219,19 @@ Disclaimer: this list of features is still a work in progress, please refer to t
218219
| Feature | Optional | Go | Java | JS | Python | Ruby | Erlang | PHP | Rust | C++ | .NET | Swift |
219220
|----------------------------------------------|----------|-----|------|-----|--------|------|--------|-----|------|-----|------|-------|
220221
| **[Logging SDK](specification/logs/sdk.md)** | Optional | Go | Java | JS | Python | Ruby | Erlang | PHP | Rust | C++ | .NET | Swift |
221-
| LoggerProvider.Get Logger | | | + | | | | | + | | | - | |
222-
| LoggerProvider.Get Logger accepts attributes | | | | | | | | + | | | | |
222+
| LoggerProvider.Get Logger | | | + | | | | | + | | + | - | |
223+
| LoggerProvider.Get Logger accepts attributes | | | | | | | | + | | + | | |
223224
| LoggerProvider.Shutdown | | | + | | | | | + | | | - | |
224225
| LoggerProvider.ForceFlush | | | + | | | | | + | | | - | |
225-
| Logger.Emit(LogRecord) | | | + | | | | | + | | | - | |
226-
| SimpleLogRecordProcessor | | | + | | | | | + | | | | |
227-
| BatchLogRecordProcessor | | | + | | | | | + | | | | |
228-
| Can plug custom LogRecordProcessor | | | + | | | | | + | | | | |
229-
| OTLP/gRPC exporter | | | + | | + | | | + | | | + | |
230-
| OTLP/HTTP exporter | | | + | | + | | | + | | | + | |
226+
| Logger.Emit(LogRecord) | | | + | | | | | + | | + | - | |
227+
| SimpleLogRecordProcessor | | | + | | | | | + | | + | | |
228+
| BatchLogRecordProcessor | | | + | | | | | + | | + | | |
229+
| Can plug custom LogRecordProcessor | | | + | | | | | + | | + | | |
230+
| OTLP/gRPC exporter | | | + | | + | | | + | | + | + | |
231+
| OTLP/HTTP exporter | | | + | | + | | | + | | + | + | |
231232
| OTLP File exporter | | | - | | - | | | | | | - | |
232-
| Can plug custom LogRecordExporter | | | + | | | | | + | | | | |
233-
| Trace Context Injection | | | + | | + | | | + | | | + | |
233+
| Can plug custom LogRecordExporter | | | + | | | | | + | | + | | |
234+
| Trace Context Injection | | | + | | + | | | + | | + | + | |
234235

235236
## Resource
236237

@@ -325,6 +326,8 @@ Note: Support for environment variables is optional.
325326
| SchemaURL in ResourceMetrics and ScopeMetrics | | | + | | + | | - | + | | | - | |
326327
| SchemaURL in ResourceLogs and ScopeLogs | | | + | | + | | - | + | | | - | |
327328
| Honors the [user agent spec](specification/protocol/exporter.md#user-agent) | | | | | | | | + | | | + | |
329+
| [Partial Success](https://github.com/open-telemetry/opentelemetry-proto/blob/main/docs/specification.md#partial-success) messages are handled and logged for OTLP/gRPC | X | + | | | | | | | | | | |
330+
| [Partial Success](https://github.com/open-telemetry/opentelemetry-proto/blob/main/docs/specification.md#partial-success-1) messages are handled and logged for OTLP/HTTP | X | + | | | | | | | | | | |
328331
| **[Zipkin](specification/trace/sdk_exporters/zipkin.md)** | Optional | Go | Java | JS | Python | Ruby | Erlang | PHP | Rust | C++ | .NET | Swift |
329332
| Zipkin V1 JSON | X | - | + | | + | - | - | - | - | - | - | - |
330333
| Zipkin V1 Thrift | X | - | + | | [-][py1174] | - | - | - | - | - | - | - |

specification/compatibility/opentracing.md

+14-4
Original file line numberDiff line numberDiff line change
@@ -194,12 +194,18 @@ registered or the global OpenTelemetry `Propagator`s, as configured at construct
194194
- `TextMap` and `HttpHeaders` formats MUST use their explicitly specified `TextMapPropagator`,
195195
if any, or else use the global `TextMapPropagator`.
196196

197-
If the extracted `SpanContext` is invalid AND the extracted `Baggage` is empty, this operation
198-
MUST return a null value, and otherwise it MUST return a `SpanContext` Shim instance with
199-
the extracted values.
197+
The operation MUST return a `SpanContext` Shim instance with the extracted values if any of these conditions are met:
198+
199+
* `SpanContext` is valid.
200+
* `SpanContext` is sampled.
201+
* `SpanContext` contains non-empty extracted `Baggage`.
202+
203+
Otherwise, the operation MUST return null or empty value.
200204

201205
```java
202-
if (!extractedSpanContext.isValid() && extractedBaggage.isEmpty()) {
206+
if (!extractedSpanContext.isValid()
207+
&& !extractedSpanContext.isSampled()
208+
&& extractedBaggage.isEmpty()) {
203209
return null;
204210
}
205211

@@ -210,6 +216,10 @@ Errors MAY be raised if either the `Format` is not recognized
210216
or no value could be extracted, depending on the specific OpenTracing Language API
211217
(e.g. Go and Python do, but Java may not).
212218

219+
Note: Invalid but sampled `SpanContext` instances are returned as a way to support
220+
`jaeger-debug-id` [headers](https://github.com/jaegertracing/jaeger-client-java#via-http-headers),
221+
which are used to force propagation of debug information.
222+
213223
## Close
214224

215225
OPTIONAL operation. If this operation is implemented for a specific OpenTracing language,

specification/logs/noop.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ linkTitle: No-Op
44

55
# Logs Bridge API No-Op Implementation
66

7-
**Status**: [Experimental](../document-status.md)
7+
**Status**: [Stable](../document-status.md)
88

99
<details>
1010
<summary> Table of Contents </summary>

specification/metrics/api.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ The instrument name syntax is defined below using the [Augmented Backus-Naur
202202
Form](https://tools.ietf.org/html/rfc5234):
203203

204204
```abnf
205-
instrument-name = ALPHA 0*62 ("_" / "." / "-" / ALPHA / DIGIT)
205+
instrument-name = ALPHA 0*254 ("_" / "." / "-" / ALPHA / DIGIT)
206206
207207
ALPHA = %x41-5A / %x61-7A; A-Z / a-z
208208
DIGIT = %x30-39 ; 0-9
@@ -213,7 +213,7 @@ DIGIT = %x30-39 ; 0-9
213213
* The first character must be an alphabetic character.
214214
* Subsequent characters must belong to the alphanumeric characters, '_', '.',
215215
and '-'.
216-
* They can have a maximum length of 63 characters.
216+
* They can have a maximum length of 255 characters.
217217

218218
#### Instrument unit
219219

specification/metrics/noop.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ linkTitle: No-Op
44

55
# Metrics No-Op API Implementation
66

7-
**Status**: [Experimental](../document-status.md)
7+
**Status**: [Stable](../document-status.md)
88

99
<details>
1010
<summary> Table of Contents </summary>

0 commit comments

Comments
 (0)