🔥

📝StackProfを使いパフォーマンス調査

2023/11/10に公開

1, プロファイリングの実行:
アプリケーションコードでプロファイリングを行いたい部分をStackProf.runで囲みます。

StackProf.run(mode: :cpu, out: 'tmp/stackprof-cpu-myapp.dump') do
  # 実行したいコード
end

これはCPUモードでプロファイリングを行い、結果をtmp/stackprof-cpu-myapp.dumpに保存します。

2, stackprofレポートの生成:
ダンプされたファイルからレポートを生成します。

stackprof tmp/stackprof-cpu-myapp.dump

これにより、コンソールにテキストベースのレポートが出力されます。

3, speedscopeのインストール:
speedscopeはスタンドアロンのアプリケーションであり、GitHubのリリースページからダウンロードするか、npmを使用してグローバルにインストールできます。

npm install -g speedscope

プロファイルのspeedscopeへのインポート:
stackprofから出力されたダンプファイルをspeedscopeが読み込めるJSONフォーマットに変換します。

stackprof --format=json tmp/stackprof-cpu-myapp.dump > tmp/stackprof-cpu-myapp.json

4, speedscopeでの確認:
speedscopeアプリケーションを開き、先ほど生成したJSONファイルをアプリケーションウィンドウにドラッグ&ドロップします。すると、対話型のフレームチャートや火花図など、視覚的なプロファイル情報を確認できます。

Discussion