{"id":27708333,"url":"https://github.com/open-telemetry/opentelemetry-ebpf-instrumentation","last_synced_at":"2026-02-13T03:21:17.183Z","repository":{"id":288339363,"uuid":"967710878","full_name":"open-telemetry/opentelemetry-ebpf-instrumentation","owner":"open-telemetry","description":null,"archived":false,"fork":false,"pushed_at":"2025-04-25T14:28:21.000Z","size":146156,"stargazers_count":19,"open_issues_count":11,"forks_count":3,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-04-26T09:55:47.578Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/open-telemetry.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-16T22:04:13.000Z","updated_at":"2025-04-26T08:17:31.000Z","dependencies_parsed_at":"2025-04-17T11:03:43.127Z","dependency_job_id":"848a2027-8ad2-4828-bfa9-9a46351a04ec","html_url":"https://github.com/open-telemetry/opentelemetry-ebpf-instrumentation","commit_stats":null,"previous_names":["open-telemetry/opentelemetry-ebpf-instrumentation"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-telemetry%2Fopentelemetry-ebpf-instrumentation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-telemetry%2Fopentelemetry-ebpf-instrumentation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-telemetry%2Fopentelemetry-ebpf-instrumentation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/open-telemetry%2Fopentelemetry-ebpf-instrumentation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/open-telemetry","download_url":"https://codeload.github.com/open-telemetry/opentelemetry-ebpf-instrumentation/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250968872,"owners_count":21515679,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-04-26T09:56:01.497Z","updated_at":"2026-02-13T03:21:17.177Z","avatar_url":"https://github.com/open-telemetry.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OpenTelemetry eBPF Instrumentation\n\nThis repository provides eBPF instrumentation based on the OpenTelemetry standard.\nIt provides a lightweight and efficient way to collect telemetry data using eBPF for user-space applications.\n\n**O**penTelemetry e-**B**PF **I**nstrumentation is commonly referred to as OBI.\n\n:construction: This project is currently work in progress.\n\n## How to start developing\n\nRequirements:\n\n* Docker\n* GNU Make\n\n1. First, generate all the eBPF Go bindings via `make docker-generate`. You need to re-run this make task\n   each time you add or modify a C file under the [`bpf/`](./bpf) folder.\n2. To run linter, unit tests: `make fmt verify`.\n3. To run integration tests, run either:\n\n```\nmake integration-test\nmake integration-test-k8s\nmake oats-test\n```\n\n, or all the above tasks. Each integration test target can take up to 50 minutes to complete, but you can\nuse standard `go` command-line tooling to individually run each integration test suite under\nthe [internal/test/integration](./internal/test/integration) and [internal/test/integration/k8s](./internal/test/integration/k8s) folder.\n\n## Zero-code Instrumentation\n\nBelow are quick reference instructions for getting OBI up and running with binary downloads or container images. For comprehensive setup, configuration, and troubleshooting guidance, refer to the [OpenTelemetry zero-code instrumentation documentation](https://opentelemetry.io/docs/zero-code/), which is the authoritative source of truth.\n\n## Installation\n\n### Binary Download\n\nOBI provides pre-built binaries for Linux (amd64 and arm64). Download the latest release from the [releases page](https://github.com/open-telemetry/opentelemetry-ebpf-instrumentation/releases).\n\nEach release includes:\n\n- `obi-\u003cversion\u003e-linux-amd64.tar.gz` - Linux AMD64/x86_64 archive\n- `obi-\u003cversion\u003e-linux-arm64.tar.gz` - Linux ARM64 archive\n- `SHA256SUMS` - Checksums for verification\n\n#### Download and Verify\n\n```bash\n# Set your desired version (find latest at https://github.com/open-telemetry/opentelemetry-ebpf-instrumentation/releases)\nVERSION=1.0.0\n\n# Determine your architecture\n# For Intel/AMD 64-bit: amd64\n# For ARM 64-bit: arm64\nARCH=amd64  # Change to arm64 for ARM systems\n\n# Download the archive for your architecture\nwget https://github.com/open-telemetry/opentelemetry-ebpf-instrumentation/releases/download/v${VERSION}/obi-v${VERSION}-linux-${ARCH}.tar.gz\n\n# Download checksums\nwget https://github.com/open-telemetry/opentelemetry-ebpf-instrumentation/releases/download/v${VERSION}/SHA256SUMS\n\n# Verify the archive\nsha256sum -c SHA256SUMS --ignore-missing\n\n# Extract the archive\ntar -xzf obi-v${VERSION}-linux-${ARCH}.tar.gz\n\n# The archive contains:\n# - obi: Main OBI binary\n# - k8s-cache: Kubernetes cache binary\n# - obi-java-agent.jar: Java agent\n# - LICENSE: Project license\n# - NOTICE: Legal notices\n# - NOTICES/: Third-party licenses and attributions\n```\n\n#### Install to System\n\nAfter extracting the archive, you can install the binaries to a location in your PATH so they can be used from any directory.\n\nBy default, the OBI binary expects the Java agent to be located in the same directory as the OBI executable. However, you can configure a custom path using the `--java-agent` flag or the `OTEL_EBPF_JAVAAGENT_PATH` environment variable.\n\nThe following example installs to `/usr/local/bin`, which is a standard location on most Linux distributions. You can install to any other directory in your PATH:\n\n```bash\n# Move binaries to a directory in your PATH\nsudo cp obi /usr/local/bin/\nsudo cp k8s-cache /usr/local/bin/\n\n# Install Java agent to the same directory (default behavior)\nsudo cp obi-java-agent.jar /usr/local/bin/\n\n# Alternatively, install Java agent to a different location and specify it:\n# Via flag:\n#   obi --java-agent /opt/obi/obi-java-agent.jar\n# Via environment variable:\n#   export OTEL_EBPF_JAVAAGENT_PATH=/opt/obi/obi-java-agent.jar\n\n# Verify installation\nobi --version\n```\n\n### Container Images\n\nOBI is also available as container images:\n\n```bash\n# Set your desired version (or use 'latest' for the most recent release)\nVERSION=latest  # or VERSION=1.0.0 for a specific version\n\n# Pull the image\ndocker pull docker.io/otel/ebpf-instrument:${VERSION}\n\n# Run OBI in a container\n# Note: OBI requires elevated privileges (--privileged) to instrument processes\n# See https://opentelemetry.io/docs/zero-code/obi/setup/docker/ for more details\ndocker run --privileged docker.io/otel/ebpf-instrument:${VERSION}\n```\n\n## Contributing\n\nSee [CONTRIBUTING](CONTRIBUTING.md)\n\n## License\n\nOpenTelemetry eBPF Instrumentation is licensed under the terms of the Apache Software License version 2.0.\nSee the [license file](./LICENSE) for more details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopen-telemetry%2Fopentelemetry-ebpf-instrumentation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopen-telemetry%2Fopentelemetry-ebpf-instrumentation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopen-telemetry%2Fopentelemetry-ebpf-instrumentation/lists"}