Language APIs & SDKs
OpenTelemetry code instrumentation is supported for the languages listed in the Statuses and Releases table below. Unofficial implementations for other languages are available as well. You can find them in the registry.
For Go, .NET, PHP, Python, Java and JavaScript you can use zero-code solutions to add instrumentation to your application without code changes.
If you are using Kubernetes, you can use the OpenTelemetry Operator for Kubernetes to inject these zero-code solutions into your application.
Status and Releases
The current status of the major functional components for OpenTelemetry is as follows:
Regardless of an API/SDK’s status, if your instrumentation relies on semantic conventions that are marked as Experimental in the semantic conventions specification, your data flow might be subject to breaking changes.
| 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 | Beta | Beta |
| Swift | Stable | Development | Development |
API references
Special Interest Groups (SIGs) implementing the OpenTelemetry API and SDK in a specific language also publish API references for developers. The following references are available:
- C++
- .NET — Tracing
- .NET — Metrics
- Erlang/Elixir
- Go
- Java — Record Telemetry with API
- JavaScript
- PHP
- Python
- Ruby
- Rust
The list above is aliased to /api.
Feedback
Was this page helpful?
Thank you. Your feedback is appreciated!
Please let us know how we can improve this page. Your feedback is appreciated!