cilium/ebpf
ebpf-go is a pure-Go library to read, modify and load eBPF programs and attach them to various hooks in the Linux kernel. observed · 2026-08-28
Health v2 · maintenance only
92/100
- Activity 99
- Release rhythm 78
- Longevity 100
How is this computed?
round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-03. Adoption (stars, forks) is never an input.
- gap_med: 66.5
- age_days: 2554
- days_rel: 65
- days_push: 8
- n_releases_24m: 9
Adoption not part of the score
7933 stars · 884 forks observed · 2026-08-28
What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-30, confidence not recorded
ebpf-go is a pure-Go library for loading, modifying, and attaching eBPF programs to hooks in the Linux kernel, with no dependency on libbpf or CGo. It includes tooling like bpf2go for compiling and embedding eBPF C programs into Go binaries, plus packages for links, maps, BTF, and kernel feature detection.
Use cases
- load and attach eBPF programs from a Go application
- compile eBPF C code and embed it in a Go binary with bpf2go
- attach XDP programs to count or filter network packets
- probe which eBPF features the running Linux kernel supports
- read perf event arrays and ring buffers from eBPF maps
- build self-contained portable eBPF tools without libbpf or CGo
- trace and observe systems from a long-running Go process
When to choose
- you're writing Go applications that use eBPF and want a pure-Go, dependency-light library
- you need portable, self-contained eBPF tooling across architectures
- you want to compile and embed eBPF C programs directly in your Go build
- you need kernel feature detection to support multiple kernel versions
When to avoid
- you're not on Linux, as eBPF is Linux-kernel-specific
- you need a language other than Go for loading eBPF programs
- you want a ready-made observability or security product rather than a library to build one
Facets
library · maturity stable
developer-tools monitoring networking security tracing parser developer-tools networking security monitoring operating-systems performance go cli ebpf bpf btf xdp kernel bpf2go libbpf-alternative pure-go observability packet-filtering linux
5 sources
- readme: https://github.com/cilium/ebpf · fetched 2026-08-28 · 4f39f493d024
- homepage: https://ebpf-go.dev · fetched 2026-08-29 · e3ac1602439e
- site_page: https://ebpf-go.dev/guides/getting-started · fetched 2026-08-29 · b2b934d2ebda
- site_page: https://ebpf-go.dev/concepts/features · fetched 2026-08-29 · 3120d43f30ba
- site_page: https://ebpf-go.dev/about · fetched 2026-08-29 · d6cac075cd38
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| cilium/ebpf | main | 92 |
For agents
Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem