KubernetesクラスターやLinuxホストのシステムデータを収集・調査するため、eBPFプログラムをOCIイメージのGadgetとして配布するツールキット。
grafana/pyroscope
稼働中のアプリケーションからCPU、メモリ、I/Oのプロファイルを継続的に収集し、遅いコードの原因を行単位で特定できるプロファイリングプラットフォームです。
代替できる製品:Datadog Continuous Profiler
- スター
- 11,703
- フォーク
- 827
- 未解決の Issue
- 419
- 最終コミット
- 14 時間前
これは何?
Grafana Pyroscopeは、アプリケーションのパフォーマンスボトルネックを特定するための継続的プロファイリングプラットフォームです。CPU、メモリ、I/Oの使用状況を時間の経過とともに記録するため、開発者は稼働中のインシデントも長期的な傾向も調査でき、リソース消費の原因となっているコード行まで特定できます。
プロファイルは、Go、Java、Python、Ruby、Node.js、.NET、Rust向けの言語SDK、pullまたはpushによるGrafana Alloy、あるいはOpenTelemetry eBPF profilerなどのOpenTelemetry互換ソースからOTLP経由でサーバーに送信できます。結果は、フレームグラフや比較をクエリなしで操作できるGrafana Profiles Drilldownで確認できます。
バージョン2では、インメモリのingesterやローカルディスクを使わず、プロファイルをオブジェクトストレージに直接書き込みます。サーバーはDocker、Homebrew、またはリリースバイナリで起動でき、ポート4040で待ち受けます。
主な機能
- 01稼働中のアプリケーションからCPU、メモリ、I/Oのプロファイルを収集します。
- 02Go、Java、Python、Ruby、Node.js、.NET、Rust向けのSDKを提供します。
- 03Grafana Alloy経由、およびOpenTelemetryソースからOTLP経由でプロファイルを受け付けます。
- 04Grafana Profiles Drilldownで、クエリ不要のUIを使ってフレームグラフを確認できます。
- 05v2のアーキテクチャでは、プロファイルをオブジェクトストレージに直接保存します。
ユースケース
- 本番環境で遅くなっているサービスのうち、どの関数がCPUを最も多く消費しているかを特定する。
- リリースをまたいだメモリ割り当て量の増加を追跡する。
- 障害発生中に、行単位の詳細情報を使ってレイテンシのインシデントを調査する。
- 時間の経過に伴うプロファイルを比較し、パフォーマンスの退行を検出する。
クイックスタート
- 1
DockerでPyroscopeサーバーをローカルで実行する
docker run -it -p 4040:4040 grafana/pyroscope - 2
またはHomebrewでインストールしてサービスを起動する
brew install pyroscope-io/brew/pyroscope - 3
Homebrewのサービスを起動する
brew services start pyroscope
使う前に知っておきたいこと
- ネットワークサービスに関する義務があるコピーレフトライセンス、AGPL-3.0の下でライセンスされています。
- Kubernetes、パッケージ、本番環境向けの完全なセットアップには、別途ドキュメントの確認と追加の作業が必要です。
収録されている特集
トピック
よくある質問
- pyroscope とは?
- 稼働中のアプリケーションからCPU、メモリ、I/Oのプロファイルを継続的に収集し、遅いコードの原因を行単位で特定できるプロファイリングプラットフォームです。 Grafana Pyroscopeは、アプリケーションのパフォーマンスボトルネックを特定するための継続的プロファイリングプラットフォームです。CPU、メモリ、I/Oの使用状況を時間の経過とともに記録するため、開発者は稼働中のインシデントも長期的な傾向も調査でき、リソース消費の原因となっているコード行まで特定できます。
- pyroscope は無料で使えますか?ライセンスは?
- pyroscope は AGPL-3.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- pyroscope は今もメンテナンスされていますか?
- 活発にメンテナンス中。pyroscope の最終コミットは 2026年10月24日 です。
- pyroscope は何に使えますか?
- 本番環境で遅くなっているサービスのうち、どの関数がCPUを最も多く消費しているかを特定する。 リリースをまたいだメモリ割り当て量の増加を追跡する。 障害発生中に、行単位の詳細情報を使ってレイテンシのインシデントを調査する。 時間の経過に伴うプロファイルを比較し、パフォーマンスの退行を検出する。
- pyroscope のインストール方法は?
- DockerでPyroscopeサーバーをローカルで実行する: docker run -it -p 4040:4040 grafana/pyroscope またはHomebrewでインストールしてサービスを起動する: brew install pyroscope-io/brew/pyroscope Homebrewのサービスを起動する: brew services start pyroscope
- pyroscope はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/grafana/pyroscope
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
実行中のコンテナのリソース使用状況とパフォーマンスデータを収集・集約・公開する、Web UIとREST APIを備えたGo製デーモン。
実行中のeBPFプログラムの実行時間、秒間イベント数、推定CPU使用率を表示する、top風のターミナルモニター。
稼働監視、ステータスページ、インシデント管理、オンコール通知、ログ、トレース、メトリクスを統合した、セルフホスト可能なオープンソースのオブザーバビリティプラットフォーム。
Kubernetesのリアルタイムログダッシュボード。ワークロード内の全コンテナのログを1つのタイムラインにまとめ、ブラウザーまたはターミナルで表示できます。
iOSアプリ向けのアプリ内デバッグツールキット。フローティングメニューからネットワーク通信、パフォーマンス、ビュー、ログ、アプリデータを確認できます。