Expand description
Rust bindings for the BCC compiler collection to enable eBPF instrumentation
§Goals
- Provide idiomatic Rust bindings for the BCC compiler collection
- Mimic the Python BCC bindings https://github.com/iovisor/bcc
§Examples
Re-exports§
pub use perf_event::PerfEvent;
pub use perf_event::PerfEventArray;
pub use perf_event::PerfMap;
pub use utils::*;
Modules§
Structs§
- BPF
- The
BPF
struct contains the compiled BPF code, any probes or programs that have been attached, and can provide access to a userspace view of the results of the running BPF programs. - BPFBuilder
- A builder struct which allows one to initialize a BPF module with additional options.
- BccDebug
- Kprobe
- A
Kprobe
is used to configure and then attach a probe to a kernel function which runs on entry into that function. Must be attached to be useful. - Kretprobe
- A
Kretprobe
is used to configure and then attach a probe to a kernel function which runs on return from that function. Must be attached to be useful. - RawTracepoint
- Socket
Builder - An object that can attach a bpf program to a socket which runs on every packet on the given interfaces
- Socket
Wrapper - Tracepoint
- USDT
Context - A USDT context.
- Uprobe
- A
Uprobe
is used to configure and then attach a uprobe to a userspace function on entry into that function. Must be attached to aBPF
struct to be useful. - Uretprobe
- A
UserspaceReturnProbe
is used to configure and then attach a uprobe to a userspace function on return from that function. Must be attached to aBPF
struct to be useful. - XDP
- An object that can run BPF code as an XDP program that runs on every packet at the driver level.