Go to file
Luca BRUNO 554702e63d
cargo-generate: add perf_event
This adds `perf_event` program type as a template entry.
The new entry comes with a skeleton example which register
scheduled events on each CPU at 1 HZ, triggered by the kernel
(based on clock ticks). The corresponding BPF logic logs each
event, and can identify kernel tasks from userland processes.
.cargo Add xtask for building ebpf programs
.github/workflows cargo-generate: add perf_event
.vim lsp: use project-name instead of crate_name to generate Cargo.toml path
.vscode lsp: use project-name instead of crate_name to generate Cargo.toml path
xtask Only remove RUSTUP_TOOLCHAIN env var in xtask build-ebpf
{{project-name}} cargo-generate: add perf_event
{{project-name}}-common Update dependency
{{project-name}}-ebpf cargo-generate: add perf_event
.gitignore Initial Commit
Cargo.toml Update dependency
README.md readme: Mention `RUST_LOG` env variable
cargo-generate.toml cargo-generate: add perf_event
test.sh cargo-generate: sort program types

README.md

{{project-name}}

Prerequisites

  1. Install a rust stable toolchain: rustup install stable
  2. Install a rust nightly toolchain: rustup install nightly
  3. Install bpf-linker: cargo install bpf-linker

Build eBPF

cargo xtask build-ebpf

To perform a release build you can use the --release flag. You may also change the target architecture with the --target flag

Build Userspace

cargo build

Run

RUST_LOG=info cargo xtask run