finds.dev

rubrikinc/wachy

A UI for eBPF-based performance debugging

View on GitHubHomepage ↗

★ 592RustNOASSERTIONupdated Oct 2022

// the take

Wachy is a terminal UI that sits on top of bpftrace to make eBPF-based userspace performance debugging interactive — you pick a function, and it attaches uprobes to show latency histograms and call counts without hand-writing bpftrace scripts. It's aimed at engineers debugging C/C++ production binaries on Linux who know roughly where to look but want line-level timing data fast.

Line-level attribution via debug symbols (addr2line-style mapping) rather than just function-level sampling, which is a real step up from flamegraphs for pinpointing a slow branch inside a hot function. Building on bpftrace instead of writing a custom BPF compiler means it inherits bpftrace's safety checks and verifier compatibility instead of reinventing that wheel. C++ symbol demangling is handled explicitly, which most ad-hoc eBPF tooling skips and then chokes on templated code.

No commits since October 2022 — three years dead with eBPF/kernel tooling moving fast underneath it, so compatibility with newer kernels or bpftrace versions is unverified. x86-64 only, no ARM, which quietly rules out Graviton and other arm64 production fleets that are now common. Requires the traced binary to carry debug symbols, so it won't work against stripped production binaries without a debug build pipeline already in place. Explicitly doesn't support Go (acknowledged in the README) despite Go being the most common compiled-language target for this kind of tracing in practice, which narrows the realistic audience to C/C++ shops.

We read the README, the directory tree and a key source file in October 2026. Nobody pays to be listed. How we judge →

search the same ground:

// at a glance

Stars
592
Forks
18
Language
Rust
License
NOASSERTION
Last commit
31 Oct 2022

// nearby

If wachy isn't quite it.

All repos →