Status

OpenTelemetry is made up of several components, some language-specific and others language-agnostic. When looking for a status, make sure to look for the status from the right component page. For example, the status of a signal in the specification may not be the same as the signal status in a particular language SDK.

Language SDKs

For the development status, or maturity level, of a language SDK, see the following table:

LanguageTracesMetricsLogs
C++StableStableStable
C#/.NETStableStableStable
Erlang/ElixirStableDevelopmentDevelopment
GoStableStableBeta
JavaStableStableStable
JavaScriptStableStableDevelopment
PHPStableStableStable
PythonStableStableDevelopment
RubyStableDevelopmentDevelopment
RustBetaAlphaAlpha
SwiftStableDevelopmentDevelopment

For more details on the specification compliance per implementation, see the Spec Compliance Matrix.

Collector

The collector status is: mixed, since core collector components currently have mixed stability levels.

Collector components differ in their maturity levels. Each component has its stability documented in its README.md. You can find a list of all available collector components in the registry.

Kubernetes Operator

The OpenTelemetry Operator status is mixed, since it deploys components of differing statuses.

The Operator itself is in a mixed state with components in v1alpha1 and v1beta1 states.

Specifications

For the development status, or maturity level, of the specification, see the following: Specification Status Summary.