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:
Important
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
Note
The list above is aliased to/api
.C++
A language-specific implementation of OpenTelemetry in C++.
.NET
A language-specific implementation of OpenTelemetry in .NET.
Erlang/Elixir
A language-specific implementation of OpenTelemetry in Erlang/Elixir.
Go
A language-specific implementation of OpenTelemetry in Go.
Java
Language-specific implementation of OpenTelemetry in Java.
JavaScript
A language-specific implementation of OpenTelemetry in JavaScript (for Node.js & the browser).
PHP
A language-specific implementation of OpenTelemetry in PHP.
Python
A language-specific implementation of OpenTelemetry in Python.
Ruby
A language-specific implementation of OpenTelemetry in Ruby.
Rust
A language-specific implementation of OpenTelemetry in Rust.
Swift
A language-specific implementation of OpenTelemetry in Swift.
Other languages
Language-specific implementation of OpenTelemetry for other languages.
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!