Repolode
open-telemetry

open-telemetry/opentelemetry-go

The Go implementation of OpenTelemetry, providing APIs and SDKs to instrument Go applications for traces, metrics and logs.

Stars
6,600
Forks
1,532
Open issues
198
Last commit
2 days ago

What is it?

OpenTelemetry-Go is the Go implementation of the OpenTelemetry project. It offers a set of APIs for measuring the performance and behavior of Go software, and an SDK that processes that data and sends it to observability platforms.

The project covers the three telemetry signals: traces, metrics and logs, all of which are marked stable. Developers can instrument their code directly with the otel package, or use the officially supported instrumentation libraries maintained in the separate opentelemetry-go-contrib repository.

For export, the repository includes exporters for OTLP (logs, metrics and traces), Prometheus (metrics), stdout (all three signals) and Zipkin (traces).

Key features

  • 01Provides APIs for traces, metrics and logs in Go.
  • 02Includes an SDK that processes telemetry before export.
  • 03Exports data via OTLP, Prometheus, stdout and Zipkin.
  • 04Supports the Go versions currently maintained upstream on Linux, macOS and Windows.

Use cases

  • Adding distributed tracing to a Go microservice.
  • Exposing application metrics to Prometheus.
  • Sending logs and traces from a Go service to an OTLP-compatible backend.
  • Building custom instrumentation for a Go library or application.

Quick start

  1. 1

    Install the OpenTelemetry Go API and SDK packages

  2. 2

    Instrument your application with an instrumentation library or the otel package

  3. 3

    Configure an exporter such as OTLP, stdout, Prometheus or Zipkin to send telemetry

Things to know

  • The README does not give a single install command, so setup requires following the linked getting started guide.
  • Supported environments are listed for Ubuntu, macOS and Windows only, with no guarantees for other systems.

In collections

Topics

FAQ

What is opentelemetry-go?
The Go implementation of OpenTelemetry, providing APIs and SDKs to instrument Go applications for traces, metrics and logs. OpenTelemetry-Go is the Go implementation of the OpenTelemetry project. It offers a set of APIs for measuring the performance and behavior of Go software, and an SDK that processes that data and sends it to observability platforms.
Is opentelemetry-go free to use? What license does it have?
opentelemetry-go is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is opentelemetry-go still maintained?
Actively maintained. The last commit to opentelemetry-go was on Nov 7, 2026.
What can I use opentelemetry-go for?
Adding distributed tracing to a Go microservice. Exposing application metrics to Prometheus. Sending logs and traces from a Go service to an OTLP-compatible backend. Building custom instrumentation for a Go library or application.
How do I install opentelemetry-go?
Install the OpenTelemetry Go API and SDK packages Instrument your application with an instrumentation library or the otel package Configure an exporter such as OTLP, stdout, Prometheus or Zipkin to send telemetry
Where can I get opentelemetry-go?
The source code and installation instructions are on GitHub: https://github.com/open-telemetry/opentelemetry-go

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects