Skip to content

Commit

Permalink
Merge branch 'main' into async_drop
Browse files Browse the repository at this point in the history
  • Loading branch information
reyang authored Aug 10, 2023
2 parents 12672d4 + fce0a69 commit f6d1762
Show file tree
Hide file tree
Showing 8 changed files with 164 additions and 68 deletions.
57 changes: 55 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,26 +13,81 @@ release.

### Metrics

- Increase metric name maximum length from 63 to 255 characters.
([#3648](https://github.com/open-telemetry/opentelemetry-specification/pull/3648))
- MetricReader.Collect ignores Resource from MetricProducer.Produce.
([#3636](https://github.com/open-telemetry/opentelemetry-specification/pull/3636))

### Logs

### Resource

### Compatibility

- OpenTracing Shim: Allow invalid but sampled SpanContext to be returned.
([#3471](https://github.com/open-telemetry/opentelemetry-specification/pull/3471))

### SDK Configuration

### Common

### Supplemenatary Guidelines

## v1.24.0 (2023-08-10)

### Context

- No changes.

### Traces

- No changes.

### Metrics

- Specify how to handle instrument name conflicts.
([#3626](https://github.com/open-telemetry/opentelemetry-specification/pull/3626))
- Add experimental metric attributes advice API.
([#3546](https://github.com/open-telemetry/opentelemetry-specification/pull/3546))
- Revise the exemplar default reservoirs.
([#3627](https://github.com/open-telemetry/opentelemetry-specification/pull/3627))
- Mark the default aggregation cardinality Experimental in MetricReader.
([#3619](https://github.com/open-telemetry/opentelemetry-specification/pull/3619))
- Mark Metric No-Op API as stable.
([#3642](https://github.com/open-telemetry/opentelemetry-specification/pull/3642))
- MetricProducers are provided as config to MetricReaders instead of through a RegisterProducer operation.
([#3613](https://github.com/open-telemetry/opentelemetry-specification/pull/3613))
- Refine `MetricProvider.ForceFlush` and define `ForceFlush` for periodic exporting MetricReader.
([#3563](https://github.com/open-telemetry/opentelemetry-specification/pull/3563))

### Logs

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

### Resource

- No changes.

### Compatibility

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

### SDK Configuration

- No changes.

### Common

- No changes.

### Supplemenatary Guidelines

- No changes.

## v1.23.0 (2023-07-12)

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

### Resource

Expand Down
23 changes: 13 additions & 10 deletions spec-compliance-matrix.md
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@ formats is required. Implementing more than one format is optional.
| Instruments have an optional description. | | + | + | + | + | | | + | + | + | + | |
| Instruments have an optional advice. | | | | | | | | | | | | |
| 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. | | - | + | | + | | | | + | + | + | |
Expand Down Expand Up @@ -218,19 +219,19 @@ Disclaimer: this list of features is still a work in progress, please refer to t
| Feature | Optional | Go | Java | JS | Python | Ruby | Erlang | PHP | Rust | C++ | .NET | Swift |
|----------------------------------------------|----------|-----|------|-----|--------|------|--------|-----|------|-----|------|-------|
| **[Logging SDK](specification/logs/sdk.md)** | Optional | Go | Java | JS | Python | Ruby | Erlang | PHP | Rust | C++ | .NET | Swift |
| LoggerProvider.Get Logger | | | + | | | | | + | | | - | |
| LoggerProvider.Get Logger accepts attributes | | | | | | | | + | | | | |
| LoggerProvider.Get Logger | | | + | | | | | + | | + | - | |
| LoggerProvider.Get Logger accepts attributes | | | | | | | | + | | + | | |
| LoggerProvider.Shutdown | | | + | | | | | + | | | - | |
| LoggerProvider.ForceFlush | | | + | | | | | + | | | - | |
| Logger.Emit(LogRecord) | | | + | | | | | + | | | - | |
| SimpleLogRecordProcessor | | | + | | | | | + | | | | |
| BatchLogRecordProcessor | | | + | | | | | + | | | | |
| Can plug custom LogRecordProcessor | | | + | | | | | + | | | | |
| OTLP/gRPC exporter | | | + | | + | | | + | | | + | |
| OTLP/HTTP exporter | | | + | | + | | | + | | | + | |
| Logger.Emit(LogRecord) | | | + | | | | | + | | + | - | |
| SimpleLogRecordProcessor | | | + | | | | | + | | + | | |
| BatchLogRecordProcessor | | | + | | | | | + | | + | | |
| Can plug custom LogRecordProcessor | | | + | | | | | + | | + | | |
| OTLP/gRPC exporter | | | + | | + | | | + | | + | + | |
| OTLP/HTTP exporter | | | + | | + | | | + | | + | + | |
| OTLP File exporter | | | - | | - | | | | | | - | |
| Can plug custom LogRecordExporter | | | + | | | | | + | | | | |
| Trace Context Injection | | | + | | + | | | + | | | + | |
| Can plug custom LogRecordExporter | | | + | | | | | + | | + | | |
| Trace Context Injection | | | + | | + | | | + | | + | + | |

## Resource

Expand Down Expand Up @@ -325,6 +326,8 @@ Note: Support for environment variables is optional.
| SchemaURL in ResourceMetrics and ScopeMetrics | | | + | | + | | - | + | | | - | |
| SchemaURL in ResourceLogs and ScopeLogs | | | + | | + | | - | + | | | - | |
| Honors the [user agent spec](specification/protocol/exporter.md#user-agent) | | | | | | | | + | | | + | |
| [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 | + | | | | | | | | | | |
| [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 | + | | | | | | | | | | |
| **[Zipkin](specification/trace/sdk_exporters/zipkin.md)** | Optional | Go | Java | JS | Python | Ruby | Erlang | PHP | Rust | C++ | .NET | Swift |
| Zipkin V1 JSON | X | - | + | | + | - | - | - | - | - | - | - |
| Zipkin V1 Thrift | X | - | + | | [-][py1174] | - | - | - | - | - | - | - |
Expand Down
18 changes: 14 additions & 4 deletions specification/compatibility/opentracing.md
Original file line number Diff line number Diff line change
Expand Up @@ -194,12 +194,18 @@ registered or the global OpenTelemetry `Propagator`s, as configured at construct
- `TextMap` and `HttpHeaders` formats MUST use their explicitly specified `TextMapPropagator`,
if any, or else use the global `TextMapPropagator`.

If the extracted `SpanContext` is invalid AND the extracted `Baggage` is empty, this operation
MUST return a null value, and otherwise it MUST return a `SpanContext` Shim instance with
the extracted values.
The operation MUST return a `SpanContext` Shim instance with the extracted values if any of these conditions are met:

* `SpanContext` is valid.
* `SpanContext` is sampled.
* `SpanContext` contains non-empty extracted `Baggage`.

Otherwise, the operation MUST return null or empty value.

```java
if (!extractedSpanContext.isValid() && extractedBaggage.isEmpty()) {
if (!extractedSpanContext.isValid()
&& !extractedSpanContext.isSampled()
&& extractedBaggage.isEmpty()) {
return null;
}

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

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

## Close

OPTIONAL operation. If this operation is implemented for a specific OpenTracing language,
Expand Down
2 changes: 1 addition & 1 deletion specification/logs/noop.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ linkTitle: No-Op

# Logs Bridge API No-Op Implementation

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

<details>
<summary> Table of Contents </summary>
Expand Down
4 changes: 2 additions & 2 deletions specification/metrics/api.md
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,7 @@ The instrument name syntax is defined below using the [Augmented Backus-Naur
Form](https://tools.ietf.org/html/rfc5234):

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

#### Instrument unit

Expand Down
2 changes: 1 addition & 1 deletion specification/metrics/noop.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ linkTitle: No-Op

# Metrics No-Op API Implementation

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

<details>
<summary> Table of Contents </summary>
Expand Down
Loading

0 comments on commit f6d1762

Please sign in to comment.