Home

Awesome

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:

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

OSGo VersionArchitecture
Ubuntu1.22amd64
Ubuntu1.21amd64
Ubuntu1.20amd64

Automatic instrumentation should work on any Linux kernel above 4.4.

OpenTelemetry Go Automatic Instrumentation supports the arm64 architecture. However, there is no automated testing for this platform. Be sure to validate support on your own ARM based system.

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.

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.