April 15, 2024

By Jose Fernandez

Right this moment, we’re thrilled to announce the discharge of bpftop, a command-line software designed to streamline the efficiency optimization and monitoring of eBPF packages. As Netflix more and more adopts eBPF [1, 2], making use of the identical rigor to those functions as we do to different managed companies is crucial. Placing a steadiness between eBPF’s advantages and system load is essential, guaranteeing it enhances quite than hinders our operational effectivity. This software allows Netflix to embrace eBPF’s potential.

bpftop gives a dynamic real-time view of working eBPF packages. It shows the typical execution runtime, occasions per second, and estimated whole CPU % for every program. This software minimizes overhead by enabling efficiency statistics solely whereas it’s energetic.

bpftop simplifies the efficiency optimization course of for eBPF packages by enabling an environment friendly cycle of benchmarking, code refinement, and quick suggestions. With out bpftop, optimization efforts would require guide calculations, including pointless complexity to the method. With bpftop, customers can rapidly set up a baseline, implement enhancements, and confirm enhancements, streamlining the method.

A standout function of this software is its means to show the statistics in time sequence graphs. This method can uncover patterns and developments that could possibly be missed in any other case.

bpftop makes use of the BPF_ENABLE_STATS syscall command to allow international eBPF runtime statistics gathering, which is disabled by default to scale back efficiency overhead. It collects these statistics each second, calculating the typical runtime, occasions per second, and estimated CPU utilization for every eBPF program inside that pattern interval. This info is displayed in a top-like tabular format or a time sequence graph over a 10s transferring window. As soon as bpftop terminates, it turns off the statistics-gathering perform. The software is written in Rust, leveraging the libbpf-rs and ratatui crates.

Go to the mission’s GitHub page to be taught extra about utilizing the software. We’ve open-sourced bpftop below the Apache 2 license and stay up for contributions from the group.