Netflix hat das Kommandozeilen-Tool bpftop veröffentlicht. Es soll die Leistungsoptimierung und -überwachung von eBPF-Programmen vereinfacht.
Netflix setze zunehmend auf eBPF und sehe es als unerlässlich an, diese Anwendungen mit der gleichen Strenge zu prüfen, wie bei anderen verwalteten Diensten. Ziel sei ein ausgewogenes Verhältnis zwischen den Vorteilen von eBPF und der Systembelastung, um sicherzustellen, dass es den Betrieb nicht behindert, sondern verbessert. Mit bpftop lasse sich das Potenzial von eBPF ausschöpfen, berichtet Netflix.
Bpftop biete eine dynamische Echtzeit-Ansicht der laufenden eBPF-Programme. Es zeige dabei die durchschnittliche Ausführungszeit, Ereignisse pro Sekunde und den geschätzten Gesamt-CPU-Anteil für jedes Programm an.
Bpftop verwende den Syscall-Befehl BPF_ENABLE_STATS, um das Sammeln globaler eBPF-Laufzeitstatistiken zu aktivieren, was standardmäßig deaktiviert sei, um den Leistungs-Overhead zu reduzieren. Es sammelt diese Statistiken jede Sekunde und berechnet die durchschnittliche Laufzeit, die Ereignisse pro Sekunde und die geschätzte CPU-Auslastung für jedes eBPF-Programm innerhalb dieses Zeitraums. Diese Informationen werden in einem tabellarischen Top-ähnlichen Format oder in einem Zeitseriendiagramm über ein 10s gleitendes Fenster angezeigt. Sobald bpftop beendet ist, schaltet es die Statistiksammelfunktion ab. Das Werkzeug ist laut Netflix in Rust geschrieben, steht unter Apache-Lizenz und ist auf Github zu finden.





