Documentation

OpenTelemetry is a set of APIs, SDKs, tooling and integrations that are designed for the creation and management of telemetry data such as traces, metrics, and logs. The OpenTelemetry documentation is intended to broadly cover key terms, concepts, and instructions on how to use OpenTelemetry in your software.

Implementation of the OpenTelemetry Reference Architecture

OpenTelemetry provides an implementation of all of its components as well as a reference architecture. The project is flexible and extensible to support a broad range of open-source and commercial solutions as well as end-user needs.

For greenfield environments, the OpenTelemetry Collector should be deployed as an agent on each host within an environment and configured to send telemetry data to the user’s desired back-end(s). OpenTelemetry instrumentation libraries should then be added to each application. By default, these instrumentation libraries are configured to export their data to a locally running Collector. Optionally, a pool of Collector instances can be deployed in a region.

For brownfield environments, the Collector supports many popular open-source wire formats including Jaeger, Prometheus, and Fluent Bit. The Collector can serve as a bridge for end-users who either desire to leverage OpenTelemetry or eventually move to the open standards OpenTelemetry supports.

For documentation and guides on language-specific instrumentation or the Collector, please follow the links in the navigation bar.


Concepts

What is OpenTelemetry, what does it provide and what does it support?

Collector

Collector logo Vendor-agnostic way to receive, process and export telemetry data.

C++

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

.NET

NET logo 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

A language-specific implementation of OpenTelemetry in Java.

JavaScript

JS logo 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.

Workshop

Resources to aid in running an OpenTelemetry workshop

Contribution Guidelines

How to contribute to the OpenTelemetry documentation

Last modified October 22, 2021: Update Java docs (#844) (fcb9dfe)