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 APIs & SDKs
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.
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.