Open-source, OpenTelemetry-native observability platform that brings logs, metrics, traces, alerts and dashboards into one self-hostable tool.
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
Install the OpenTelemetry Go API and SDK packages
- 2
Instrument your application with an instrumentation library or the otel package
- 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
An APM system for monitoring, tracing and diagnosing distributed and cloud-native microservice architectures.
Self-hostable observability platform for logs, metrics, traces, RUM and LLM monitoring, built in Rust and positioned as an alternative to Datadog and Splunk.
Python API and SDK for OpenTelemetry, the vendor-neutral framework for collecting traces, metrics and logs from applications.
A vendor-agnostic service that receives, processes and exports traces, metrics and logs to multiple observability backends.
Datadog's open-source agent that collects metrics, logs, traces and profiles from hosts and sends them to the Datadog platform.