🔥
📝StackProfを使いパフォーマンス調査
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