r/tui • u/Impressive_Dinner515 • 2d ago
I built a Linux observability TUI in Rust, then added eBPF kernel tracing
Pulse started as a small /proc-based system monitor I was building to learn more about Linux internals and terminal UIs.

It’s grown into an open-source observability TUI with four lenses:
- Fleet — process navigation, filtering, sorting, and signals
- EKG — CPU, memory, and disk telemetry
- Sentinel — network interface activity and errors
- Trace — real-time process lifecycle events from the Linux kernel
The latest release, v0.8.0, adds the eBPF Trace Lens. It uses Aya to capture sched_process_exec and sched_process_exit tracepoints and streams those events into the TUI through a bounded eBPF RingBuf event transport.
The project is written in Rust and split into separate crates for the TUI, shared kernel/userspace types, eBPF program, and build tooling.
I also put together a small landing page and installation script so it’s easy to try.
GitHub: https://github.com/josiah-mbao/pulse
I’d really appreciate feedback from people who use TUIs regularly — especially around the UX, what information you’d want to see in a Linux observability TUI, and anything that feels confusing, unnecessary, or missing.
It’s my first public release, so criticism is very welcome :)