@@ -26,19 +26,19 @@ formats is required. Implementing more than one format is optional.
2626| Shutdown (SDK only required) | | + | + | + | + | + | + | + | + | + | + | + | + |
2727| ForceFlush (SDK only required) | | + | + | + | + | + | + | + | + | + | + | + | + |
2828| [ Trace / Context interaction] ( specification/trace/api.md#context-interaction ) | Optional | Go | Java | JS | Python | Ruby | Erlang | PHP | Rust | C++ | .NET | Swift | Kotlin |
29- | Get active Span | | N/A | + | + | + | + | + | + | + | + | + | + | - |
30- | Set active Span | | N/A | + | + | + | + | + | + | + | + | + | + | - |
29+ | Get active Span | | N/A | + | + | + | + | + | + | + | + | + | + | + |
30+ | Set active Span | | N/A | + | + | + | + | + | + | + | + | + | + | + |
3131| [ Tracer] ( specification/trace/api.md#tracer-operations ) | Optional | Go | Java | JS | Python | Ruby | Erlang | PHP | Rust | C++ | .NET | Swift | Kotlin |
3232| Create a new Span | | + | + | + | + | + | + | + | + | + | + | + | + |
3333| Documentation defines adding attributes at span creation as preferred | | + | - | | + | + | | + | | | + | | + |
34- | Get active Span | | N/A | + | + | + | + | + | + | + | + | + | + | - |
35- | Mark Span active | | N/A | + | + | + | + | + | + | + | + | + | + | - |
34+ | Get active Span | | N/A | + | + | + | + | + | + | + | + | + | + | + |
35+ | Mark Span active | | N/A | + | + | + | + | + | + | + | + | + | + | + |
3636| Safe for concurrent calls | | + | + | + | + | + | + | + | + | + | + | + | + |
3737| [ SpanContext] ( specification/trace/api.md#spancontext ) | Optional | Go | Java | JS | Python | Ruby | Erlang | PHP | Rust | C++ | .NET | Swift | Kotlin |
3838| IsValid | | + | + | + | + | + | + | + | + | + | + | + | + |
3939| IsRemote | | + | + | + | + | + | + | + | + | + | + | + | + |
40- | Conforms to the W3C TraceContext spec | | + | + | + | + | + | + | + | + | + | + | + | - |
41- | [ Support W3C Trace Context Level 2 randomness] ( specification/trace/sdk.md#traceid-randomness ) | | - | + | | | | | | | | | | - |
40+ | Conforms to the W3C TraceContext spec | | + | + | + | + | + | + | + | + | + | + | + | + |
41+ | [ Support W3C Trace Context Level 2 randomness] ( specification/trace/sdk.md#traceid-randomness ) | | - | + | | | | | | | | | | + |
4242| [ Span] ( specification/trace/api.md#span ) | Optional | Go | Java | JS | Python | Ruby | Erlang | PHP | Rust | C++ | .NET | Swift | Kotlin |
4343| Create root span | | + | + | + | + | + | + | + | + | + | + | + | + |
4444| Create with default parent (active span) | | N/A | + | + | + | + | + | + | + | + | + | + | + |
@@ -79,25 +79,25 @@ formats is required. Implementing more than one format is optional.
7979| RecordException | | + | + | + | + | + | + | + | - | - | + | - | + |
8080| RecordException with extra parameters | | + | + | + | + | + | + | + | - | - | + | - | + |
8181| [ Sampling] ( specification/trace/sdk.md#sampling ) | Optional | Go | Java | JS | Python | Ruby | Erlang | PHP | Rust | C++ | .NET | Swift | Kotlin |
82- | Allow samplers to modify tracestate | | + | + | | + | + | + | + | + | + | + | + | - |
82+ | Allow samplers to modify tracestate | | + | + | | + | + | + | + | + | + | + | + | + |
8383| ShouldSample gets full parent Context | | + | + | + | + | + | + | + | + | + | - | + | + |
8484| Sampler: JaegerRemoteSampler | | + | + | + | | | | - | + | | | | - |
85- | [ New Span ID created also for non-recording Spans] ( specification/trace/sdk.md#sdk-span-creation ) | | + | + | | + | + | + | + | + | + | - | + | - |
85+ | [ New Span ID created also for non-recording Spans] ( specification/trace/sdk.md#sdk-span-creation ) | | + | + | | + | + | + | + | + | + | - | + | + |
8686| [ IdGenerators] ( specification/trace/sdk.md#id-generators ) | | + | + | + | + | + | + | + | + | + | | + | + |
8787| [ SpanLimits] ( specification/trace/sdk.md#span-limits ) | X | + | + | + | + | + | + | + | + | - | | + | + |
8888| [ Built-in ` SpanProcessor ` s implement ` ForceFlush ` spec] ( specification/trace/sdk.md#forceflush-1 ) | | + | + | + | + | + | + | + | + | + | + | | + |
89- | [ Attribute Limits] ( specification/common/README.md#attribute-limits ) | X | + | + | + | + | + | + | + | | | | | - |
89+ | [ Attribute Limits] ( specification/common/README.md#attribute-limits ) | X | + | + | + | + | + | + | + | | | | | + |
9090| Fetch InstrumentationScope from ReadableSpan | | + | + | + | + | | | + | | | + | | + |
9191| [ TraceIdRatioBased sampler implements OpenTelemetry tracestate ` th ` field] ( specification/trace/sdk.md#traceidratiobased ) | X | - | | | | | | | | | | | - |
9292| [ CompositeSampler and built-in ComposableSamplers] ( specification/trace/sdk.md#compositesampler ) | X | - | + | | | | | | | | | | - |
93- | [ Sampler: AlwaysRecord] ( specification/trace/sdk.md#alwaysrecord ) | | - | + | | | | | | | | | | - |
93+ | [ Sampler: AlwaysRecord] ( specification/trace/sdk.md#alwaysrecord ) | | - | + | | | | | | | | | | + |
9494
9595## Baggage
9696
9797| Feature | Optional | Go | Java | JS | Python | Ruby | Erlang | PHP | Rust | C++ | .NET | Swift | Kotlin |
9898| ------- | -------- | -- | ---- | -- | ------ | ---- | ------ | --- | ---- | --- | ---- | ----- | ------ |
99- | Basic support | | + | + | + | + | + | + | + | + | + | + | + | |
100- | Use official header name ` baggage ` | | + | + | + | + | + | + | + | + | + | + | + | |
99+ | Basic support | | + | + | + | + | + | + | + | + | + | + | + | + |
100+ | Use official header name ` baggage ` | | + | + | + | + | + | + | + | + | + | + | + | + |
101101
102102## Metrics
103103
@@ -239,19 +239,19 @@ Disclaimer: this list of features is still a work in progress, please refer to t
239239| Attach Context | | N/A | + | + | + | + | + | + | + | + | - | - | + |
240240| Detach Context | | N/A | + | + | + | + | + | + | + | + | - | - | + |
241241| Get current Context | | N/A | + | + | + | + | + | + | + | + | + | + | + |
242- | Composite Propagator | | + | + | + | + | + | + | + | + | + | + | + | - |
242+ | Composite Propagator | | + | + | + | + | + | + | + | + | + | + | + | + |
243243| Global Propagator | | + | + | + | + | + | + | + | + | + | + | + | - |
244- | TraceContext Propagator | | + | + | + | + | + | + | + | + | + | + | + | - |
244+ | TraceContext Propagator | | + | + | + | + | + | + | + | + | + | + | + | + |
245245| B3 Propagator | | + | + | + | + | + | + | + | + | + | + | + | - |
246246| Jaeger Propagator | X | + | + | + | + | + | + | + | + | + | + | + | - |
247247| OT Propagator | X | + | + | + | + | | | | | | - | | - |
248248| OpenCensus Binary Propagator | | + | - | | | | | | | | | | - |
249- | [ TextMapPropagator] ( specification/context/api-propagators.md#textmap-propagator ) | | + | + | | + | + | | + | | + | + | | - |
250- | Fields | | + | + | + | + | + | + | + | + | + | + | + | - |
251- | Setter argument | X | N/A | + | + | + | + | + | + | N/A | + | + | + | - |
252- | Getter argument | X | N/A | + | + | + | + | + | + | N/A | + | + | + | - |
253- | Getter argument returning Keys | X | N/A | + | + | + | + | + | + | N/A | + | - | + | - |
254- | [ Environment Variables as Context Propagation Carriers] ( specification/context/env-carriers.md ) | | + | + | + | + | | | | | + | + | + | |
249+ | [ TextMapPropagator] ( specification/context/api-propagators.md#textmap-propagator ) | | + | + | | + | + | | + | | + | + | | + |
250+ | Fields | | + | + | + | + | + | + | + | + | + | + | + | + |
251+ | Setter argument | X | N/A | + | + | + | + | + | + | N/A | + | + | + | + |
252+ | Getter argument | X | N/A | + | + | + | + | + | + | N/A | + | + | + | + |
253+ | Getter argument returning Keys | X | N/A | + | + | + | + | + | + | N/A | + | - | + | + |
254+ | [ Environment Variables as Context Propagation Carriers] ( specification/context/env-carriers.md ) | | + | + | + | + | | | | | + | + | + | - |
255255
256256## Environment Variables
257257
@@ -330,12 +330,12 @@ Disclaimer: Declarative configuration is currently in Development status - work
330330| Honors non-retryable responses | X | + | + | - | + | + | - | + | | - | - | - | |
331331| Honors throttling response | X | + | - | - | + | + | - | | | - | - | - | |
332332| Multi-destination spec compliance | X | + | - | | [ -] [ py1109 ] | | - | | | - | - | - | |
333- | SchemaURL in ResourceSpans and ScopeSpans | | + | + | | + | | + | + | | | - | | |
334- | SchemaURL in ResourceMetrics and ScopeMetrics | | + | + | | + | | - | + | | | - | | |
335- | SchemaURL in ResourceLogs and ScopeLogs | | + | + | | + | | - | + | | | - | | |
333+ | SchemaURL in ResourceSpans and ScopeSpans | | + | + | | + | | + | + | | | - | | + |
334+ | SchemaURL in ResourceMetrics and ScopeMetrics | | + | + | | + | | - | + | | | - | | + |
335+ | SchemaURL in ResourceLogs and ScopeLogs | | + | + | | + | | - | + | | | - | | + |
336336| Honors the [ user agent spec] ( specification/protocol/exporter.md#user-agent ) | | + | + | | | | | + | | | + | | + |
337- | [ 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 | + | - | | | | | + | | | | | |
338- | [ 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 | + | - | | | | | + | | | | | |
337+ | [ 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 | + | - | | | | | + | | | | | - |
338+ | [ 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 | + | - | | | | | + | | | | | + |
339339| Metric Exporter configurable temporality preference | | + | + | | + | | | + | | | + | | - |
340340| Metric Exporter configurable default aggregation | | + | + | | + | | | | | | + | | - |
341341| ** [ Zipkin] ( specification/trace/sdk_exporters/zipkin.md ) ** | Optional | Go | Java | JS | Python | Ruby | Erlang | PHP | Rust | C++ | .NET | Swift | Kotlin |
0 commit comments