rack-mini-profilerメモ
パフォーマンスのプロファイリングをするためのツール。ブラウザ経由で使う。rack-mini-profiler 2.3.1で確認。
いつからかはわからないが、Rails6.1では標準でGemfileに追加されている。
group :development do
gem 'rack-mini-profiler', '~> 2.0'
end
stackprofgemを追加してURLに?pp=flamegraphを追加するとコールスタックグラフが表示される。圧巻の画面が表示されるがRailsも含めたコールスタックグラフなので、使い所はわからない。
memory_profilergemを追加してURLに?pp=profile-memoryを追加するとメモリ使用量が表示される。
表示が邪魔な場合、Alt+Pで表示非表示が切り替えられる。設定でショートカットは変更できる。
設定
bin/rails g rack_profiler:installでconfig/initializers/rack_profiler.rbファイルが作成されるが、設定ファイルを使う場合はGemfileを以下のように修正する必要がある。
group :development do
# require: falseを追加
gem 'rack-mini-profiler', '~> 2.0', require: false
end
設定例
# 表示位置を右下に変更
Rack::MiniProfiler.config.position = 'bottom-right'
# デフォルトでは表示しない指定
Rack::MiniProfiler.config.start_hidden = true
# ショートカットキーの指定(デフォルトのAlt+Pから変更する場合)
Rack::MiniProfiler.config.toggle_shortcut = 'Alt+P'
設定詳細はConfiguration Optionsを参照。
?pp=normal-backtraceなどの指定は一度するとリクエストを跨いで継続する(セッションに記録されてる?)。