Skip to content

Latest commit

 

History

History
128 lines (112 loc) · 9.59 KB

spec-compliance-matrix.md

File metadata and controls

128 lines (112 loc) · 9.59 KB

Compliance of Implementations with Specification

The following tables show which features are implemented by each OpenTelemetry language implementation.

+ means the feature is supported, - means it is not supported, N/A means the feature is not applicable to the particular language, blank cell means the status of the feature is not known.

Traces

Feature Go Java Node.js Python Ruby Erlang PHP Rust C++ .Net
TracerProvider
Create TracerProvider
Get a Tracer
Safe for concurrent calls
Tracer
Create a new Span
Get active Span
Mark Span active
Safe for concurrent calls
SpanContext
IsValid
IsRemote
Conforms to the W3C TraceContext spec
Span
Create root span
Create with default parent (active span)
Create with parent from Context
Create with explicit parent Span
Create with explicit parent SpanContext
UpdateName
User-defined start timestamp
End
End with timestamp
Set/Get status
Set/Get span kind
Safe for concurrent calls
Span attributes
SetAttribute
Set order preserved
String type
Boolean type
Double floating-point type
Signed int64 type
Array of primitives (homogeneous)
Unicode support for keys and string values
Span linking
AddLink
AddLazyLink
Safe for concurrent calls
Span events
AddEvent
AddLazyEvent
Add order preserved
Span events
Safe for concurrent calls
Span exceptions
RecordException
RecordException with extra parameters

Metrics

Feature Go Java Node.js Python Ruby Erlang PHP Rust C++ .Net
TBD

Resource

Feature Go Java Node.js Python Ruby Erlang PHP Rust C++ .Net
TBD

Context Propagation

Feature Go Java Node.js Python Ruby Erlang PHP Rust C++ .Net
TBD

Error Handling

Feature Go Java Node.js Python Ruby Erlang PHP Rust C++ .Net
TBD

Environment Variables

Feature Go Java Node.js Python Ruby Erlang PHP Rust C++ .Net
TBD

Exporters

Feature Go Java Node.js Python Ruby Erlang PHP Rust C++ .Net
Standard output (logging)
In-memory (mock exporter)
OTLP
OTLP/gRPC Exporter
OTLP/HTTP binary Protobuf Exporter
OTLP/HTTP JSON Protobuf Exporter
OTLP/HTTP gzip Content-Encoding support
Concurrent sending
Honors retryable responses with backoff
Honors non-retryable responses
Honors throttling response
Multi-destination spec compliance
Zipkin
Zipkin V1 JSON
Zipkin V1 Thrift
Zipkin V2 JSON
Zipkin V2 Protobuf
Service name mapping
SpanKind mapping
InstrumentationLibrary mapping
Boolean attributes
Array attributes
Status mapping
Event attributes mapping to Annotations
Fractional microseconds in timestamps
Service name mapping
Jaeger
TBD
OpenCensus
TBD
Prometheus
TBD