rack-mini-profilerメモ
パフォーマンスのプロファイリングをするためのツール。ブラウザ経由で使う。rack-mini-profiler 2.3.1で確認。
いつからかはわからないが、Rails6.1では標準でGemfileに追加されている。
group :development do
gem 'rack-mini-profiler', '~> 2.0'
end
stackprof
gemを追加してURLに?pp=flamegraph
を追加するとコールスタックグラフが表示される。圧巻の画面が表示されるがRailsも含めたコールスタックグラフなので、使い所はわからない。
memory_profiler
gemを追加して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
などの指定は一度するとリクエストを跨いで継続する(セッションに記録されてる?)。