このプロジェクトについて
Parcaは、Open-Sourceの継続的プロファイリングプラットフォームで、時間軸に沿ったCPUおよびメモリ使用量を出力行レベルで分析することができます。インフラ全体のプロファイリングデータを収集することで、インフラコストの削減、パフォーマンスの向上、信頼性の向上を目指して設計されています。
READMEで説明されている主な機能:
- eBPF Profiler: 単一のeBPCプロファイラーが、Kubernetesまたはsystemdからインフラ全体のターゲットを自動検出し、低オーバーヘッドで動作します。C、C++、Rust、Goなどの言語をサポートしています。
- Open Standards: eBPCベースのプロファイラーはpprof形式のプロファイルを生成し、Parcaはあらゆるpprof形式のプロファイルを取り込むことができます。これにより、幅広い言語対応と既存ツールとの相互運用性が実現します。
- Optimized Storage and Querying: プロファイリングデータは生データを保持しつつ効率的に保存されます。ラベルベースの検索でデータを細かく分析できます。インフラ全体でプロファイリングデータを集約したり、特定の時点のプロファイルを表示したり、異なる次元で比較することができます。
READMEで強調されているユースケース:
- 無駄なリソースを見つけることでお金を節約
- 統計的に有意義なホットパスを特定し、デプロイ、バージョン、地域などのラベル間で差異を比較することでパフォーマンスを向上
- メモリリークや一時的なCPU/IOスパイクなど、インシデントの理解を深める
インストールとドキュメントはプロジェクトウェブサイトから利用可能です。開発にはGo、Node、Pnpmが必要です。リポジトリにはMakefileビルドプロセスが含まれており、コンパイルされたバイナリはデフォルトでポート7070でWeb UIを起動します。設定はフラグとparca.yamlファイルによって処理され、HTTP設定、ストレージオプション、シンボル化、debuginfo処理、リモートストア接続をカバーしています。
本プロジェクトはもともとPolar Signalsによって開発され、Apache 2ライセンスの下でリリースされています。
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.