Asserting bpftop: Streamlining eBPF efficiency optimization | by Netflix Know-how Weblog

By Jose Fernandez

As we speak, we’re thrilled to announce the discharge of bpftop, a command-line instrument designed to streamline the efficiency optimization and monitoring of eBPF applications. As Netflix more and more adopts eBPF [1, 2], making use of the identical rigor to those functions as we do to different managed providers is crucial. Placing a steadiness between eBPF’s advantages and system load is essential, making certain it enhances moderately than hinders our operational effectivity. This instrument permits Netflix to embrace eBPF’s potential.

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

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

A standout function of this instrument is its potential to show the statistics in time sequence graphs. This strategy can uncover patterns and developments that may very well be missed in any other case.

bpftop makes use of the BPF_ENABLE_STATS syscall command to allow world eBPF runtime statistics gathering, which is disabled by default to cut 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 data 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 operate. The instrument is written in Rust, leveraging the libbpf-rs and ratatui crates.

Go to the undertaking’s GitHub page to study extra about utilizing the instrument. We’ve open-sourced bpftop beneath the Apache 2 license and stay up for contributions from the group.