open-telemetry/opentelemetry-go-instrumentation

OpenTelemetry Auto Instrumentation using eBPF

1,032

stars

3,101

commits

C

primary language

Sep 15, 2026

updated

opentelemetry.io
ebpf
go
golang
instrumentation
metrics
observability
telemetry
tracing

README

OpenTelemetry Go Automatic Instrumentation

PkgGoDev

This repository provides OpenTelemetry tracing instrumentation for Go libraries using eBPF.

:construction: This project is currently work in progress.

Compatibility

OpenTelemetry Go Automatic Instrumentation is compatible with all current supported versions of the Go language.

Each major Go release is supported until there are two newer major releases. For example, Go 1.5 was supported until the Go 1.7 release, and Go 1.6 was supported until the Go 1.8 release.

For versions of Go that are no longer supported upstream, this repository will stop ensuring compatibility with these versions in the following manner:

  • A minor release will be made to add support for the new supported release of Go.
  • The following minor release will remove compatibility testing for the oldest (now archived upstream) version of Go. This, and future, releases may include features only supported by the currently supported versions of Go.

Currently, OpenTelemetry Go Automatic Instrumentation is tested for the following environments.

OSGo VersionArchitecture
Ubuntu1.27amd64
Ubuntu1.26amd64
Ubuntu1.27arm64
Ubuntu1.26arm64

Automatic instrumentation should work on any Linux kernel above 4.4.

OpenTelemetry Go Automatic Instrumentation supports the arm64 architecture. CI tests the supported Go versions on Ubuntu arm64 runners.

Users of non-Linux operating systems can use the Docker images or create a virtual machine to compile and run OpenTelemetry Go Automatic Instrumentation.

See COMPATIBILITY.md for information about what Go packages this project provides instrumentation for.

Get started

See Getting started for setup, deployment, and configuration steps.

You can also try the Tutorial for a guide on setting up a sample Emojivoto application.

For technical and design info, see How it works.

Configuration

See the configuration documentation.

Contributing

See the contributing documentation.

License

OpenTelemetry Go Automatic Instrumentation is licensed under the terms of the Apache Software License version 2.0. See the license file for more details.

Third-party licenses and copyright notices can be found in the LICENSES directory.

Contributors

(top 30 of 48)

renovate[bot]

1,895 commits

dependabot[bot]

440 commits

MrAlias

325 commits

RonFed

118 commits

open-telemetry/opentelemetry-go-instrumentation

OpenTelemetry Auto Instrumentation using eBPF

1,032

stars

3,101

commits

C

primary language

Sep 15, 2026

updated

opentelemetry.io
ebpf
go
golang
instrumentation
metrics
observability
telemetry
tracing

README

OpenTelemetry Go Automatic Instrumentation

PkgGoDev

This repository provides OpenTelemetry tracing instrumentation for Go libraries using eBPF.

:construction: This project is currently work in progress.

Compatibility

OpenTelemetry Go Automatic Instrumentation is compatible with all current supported versions of the Go language.

Each major Go release is supported until there are two newer major releases. For example, Go 1.5 was supported until the Go 1.7 release, and Go 1.6 was supported until the Go 1.8 release.

For versions of Go that are no longer supported upstream, this repository will stop ensuring compatibility with these versions in the following manner:

  • A minor release will be made to add support for the new supported release of Go.
  • The following minor release will remove compatibility testing for the oldest (now archived upstream) version of Go. This, and future, releases may include features only supported by the currently supported versions of Go.

Currently, OpenTelemetry Go Automatic Instrumentation is tested for the following environments.

OSGo VersionArchitecture
Ubuntu1.27amd64
Ubuntu1.26amd64
Ubuntu1.27arm64
Ubuntu1.26arm64

Automatic instrumentation should work on any Linux kernel above 4.4.

OpenTelemetry Go Automatic Instrumentation supports the arm64 architecture. CI tests the supported Go versions on Ubuntu arm64 runners.

Users of non-Linux operating systems can use the Docker images or create a virtual machine to compile and run OpenTelemetry Go Automatic Instrumentation.

See COMPATIBILITY.md for information about what Go packages this project provides instrumentation for.

Get started

See Getting started for setup, deployment, and configuration steps.

You can also try the Tutorial for a guide on setting up a sample Emojivoto application.

For technical and design info, see How it works.

Configuration

See the configuration documentation.

Contributing

See the contributing documentation.

License

OpenTelemetry Go Automatic Instrumentation is licensed under the terms of the Apache Software License version 2.0. See the license file for more details.

Third-party licenses and copyright notices can be found in the LICENSES directory.

Contributors

(top 30 of 48)

renovate[bot]

1,895 commits

dependabot[bot]

440 commits

MrAlias

325 commits

RonFed

118 commits

Languages

C

51.6%

Go

47.2%