Language APIs & SDKs

OpenTelemetry code instrumentation is supported for many popular programming languages

OpenTelemetry code instrumentation is supported for the languages listed below. Depending on the language, topics covered will include some or all of the following:

  • Automatic instrumentation
  • Manual instrumentation
  • Exporting data

If you are using Kubernetes, you can use the OpenTelemetry Operator for Kubernetes to inject auto-instrumentation libraries for .NET, Java, Node.js, Python, Go into your application.

Status and Releases

The current status of the major functional components for OpenTelemetry is as follows:

LanguageTracesMetricsLogs
C++StableStableStable
C#/.NETStableStableStable
Erlang/ElixirStableExperimentalExperimental
GoStableStableIn development
JavaStableStableStable
JavaScriptStableStableExperimental
PHPStableStableStable
PythonStableStableExperimental
RubyStableIn developmentIn development
RustBetaAlphaAlpha
SwiftStableExperimentalIn development

SDK Configuration

C++

C++ A language-specific implementation of OpenTelemetry in C++.

.NET

.NET A language-specific implementation of OpenTelemetry in .NET.

Erlang/Elixir

Erlang/Elixir A language-specific implementation of OpenTelemetry in Erlang/Elixir.

Go

Go A language-specific implementation of OpenTelemetry in Go.

Java

Java A language-specific implementation of OpenTelemetry in Java.

JavaScript

JavaScript A language-specific implementation of OpenTelemetry in JavaScript (for Node.js & the browser).

PHP

PHP A language-specific implementation of OpenTelemetry in PHP.

Python

Python A language-specific implementation of OpenTelemetry in Python.

Ruby

Ruby A language-specific implementation of OpenTelemetry in Ruby.

Rust

Rust A language-specific implementation of OpenTelemetry in Rust.

Swift

Swift A language-specific implementation of OpenTelemetry in Swift.

Other languages

Language-specific implementation of OpenTelemetry for other languages.