このプロジェクトについて

Perforatorは、Google-Wide Profilingに触発されてYandexが開発したオープンソースの継続プロファイリングアプリケーションです。大規模データセンター向けに設計されており、すでに数万台のサーバーに導入されています。このツールはeBPFを使用して本番環境からCPUプロファイルを収集し、一般的なx86 64ビットLinuxホストにおいて、ホストCPUの1%未満、RAM約512MBというオーバーヘッドが示されています。 主な機能には、eBPFによるカーネルおよびユーザースペーススタックの効率的な収集、プロファイルとバイナリのためのスケーラブルなストレージ、ホスト上でフレームポインタやデバッグシンボルなしでのアンワインド、フレームグラフを通じてCPU使用率を調査するためのUI付きクエリ言語が含まれます。C++、C、Go、Rustをサポートし、JavaとPythonは実験的にサポートされています。PerforatorはAutoFDOによるProfile Guided Optimization用のsPGOプロファイルも生成できます。 ユーザーはperforator record CLIコマンドを使用してローカルマシンをプロファイリングするか、提供されているHelmチャートを使用してKubernetesクラスタにデプロイできます。このプロジェクトはApache 2.0の下でライセンスされており、一部のeBPFプログラムソースコードとOpenJDKプロファイリングサポート部分はGPL 2.0の下にあります。