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.
For the development status, or maturity level, of a language API or SDK, see the following table:
Language | Traces | Metrics | Logs |
---|---|---|---|
C++ | Stable | Stable | Stable |
C#/.NET | Stable | Stable | Stable |
Erlang/Elixir | Stable | Development | Development |
Go | Stable | Stable | Beta |
Java | Stable | Stable | Stable |
JavaScript | Stable | Stable | Development |
PHP | Stable | Stable | Stable |
Python | Stable | Stable | Development |
Ruby | Stable | Development | Development |
Rust | Beta | Alpha | Alpha |
Swift | Stable | Development | Development |
For more details on the specification compliance per implementation, see the Spec Compliance Matrix.
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.
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.
For the development status, or maturity level, of the specification, see the following: Specification Status Summary.