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:installconfig/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などの指定は一度するとリクエストを跨いで継続する(セッションに記録されてる?)。