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
BPFstruct 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
Kprobeis 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
Kretprobeis 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
Uprobeis used to configure and then attach a uprobe to a userspace function on entry into that function. Must be attached to aBPFstruct to be useful. - Uretprobe
- A
UserspaceReturnProbeis used to configure and then attach a uprobe to a userspace function on return from that function. Must be attached to aBPFstruct to be useful. - XDP
- An object that can run BPF code as an XDP program that runs on every packet at the driver level.