github.com/cilium/ebpf@v0.15.1-0.20240517100537-8079b37aa138/docs/ebpf/index.md (about) 1 <style> 2 .md-content .md-typeset h1 { 3 display: none; 4 } 5 </style> 6 7 <p align="center" class="tagline">The eBPF Library for Go</p> 8 9 ![Honeygopher](ebpf-go.png){ align=right width="180" } 10 11 [![PkgGoDev](https://pkg.go.dev/badge/github.com/cilium/ebpf)](https://pkg.go.dev/github.com/cilium/ebpf) 12 13 :ebpf-go: {{ proj }} is a Go library for working with :ebee-color: eBPF. It does 14 not depend on C, libbpf, or any other Go libraries other than the standard 15 library, making it an excellent choice for writing self-contained, portable 16 tools that run on a variety of architectures. 17 18 This documentation aims to provide a central resource for learning how to build 19 Go applications that use eBPF. 20 21 ## Installing 22 23 To add {{ proj }} as a dependency to an existing Go module, run this from within 24 the module's directory: 25 26 ``` 27 go get github.com/cilium/ebpf 28 ``` 29 30 ## Target Audience 31 32 This documentation assumes familiarity with the basic concepts and terminology 33 of eBPF, as well as a basic understanding of the Go toolchain and how to write 34 idiomatic Go code. 35 36 For a high-level understanding of what eBPF is and how it works, please see [the 37 eBPF introduction at :ebee-color: ebpf.io](https://ebpf.io/what-is-ebpf). 38 39 ## Examples 40 41 Discover [projects using {{ proj }} here](users.md). The repository contains an 42 [examples/ directory](https://github.com/cilium/ebpf/tree/main/examples) with 43 minimal demo applications that can be tested on any supported Linux machine.