米Netflixは、eBPFプログラムのパフォーマンス最適化と監視を合理化するために設計された、コマンドラインツール「bpftop」を2月25日(現地時間)にリリースした。
bpftopは、実行中のeBPFプログラムにおける動的なリアルタイムビューを提供する。それぞれのプログラムの平均実行時間、1秒あたりのイベント、推定合計CPU%が表示され、アクティブな間のみパフォーマンス統計を有効にすることで、オーバーヘッドを最小限に抑えている。
ベンチマーク、コード改良、即時フィードバックの効率的なサイクルを可能にすることで、eBPFプログラムのパフォーマンスが最適化され、ベースラインを迅速に確立し、改善を実装して、機能強化を検証することによって、プロセスの合理化を実現する。
bpftopは、BPF_ENABLE_STATSシステムコールコマンドを使用して、グローバルeBPFランタイム統計収集を有効化することで(デフォルトでは無効)、統計が毎秒収集されサンプル期間内の各eBPFプログラムの平均実行時間、1秒あたりのイベント、推定CPU使用率が計算される。これらの情報は表形式または10秒の移動ウィンドウにわたる時系列グラフで表示され、bpftopを終了すると統計収集もオフになる。
なお、bpftopはRustで書かれており、libbpf-rsおよびratatuiクレートを活用している。
この記事は参考になりましたか?
- この記事の著者
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です