Rack-Mini-Profiler を一時的に無効にするにはどうすればいいですか? 質問する

Rack-Mini-Profiler を一時的に無効にするにはどうすればいいですか? 質問する

私は Rails で Rack Mini Profiler を問題なく使用していますが、特にさまざまなクライアント側コードで作業している一部のコーディング セッションでは、邪魔になります。(主にクライアント側デバッグ ツールのネットワーク グラフなどで発生します。)

私は、ユーザーがプロファイルを表示する権限を持っているかどうかを確認するためにも、before フィルターを使用してこれをオフにしようとしていますが、「deauthorize」では何も行われないようです。before フィルターとして呼び出される私のコードは次のとおりです。

def miniprofiler  
 off = true
 if off || !current_user
  Rack::MiniProfiler.deauthorize_request
  return
 elsif current_user.role_symbols.include?(:view_page_profiles)    
  Rack::MiniProfiler.authorize_request
  return
 end
 Rack::MiniProfiler.deauthorize_request
end

また、「Rack::MiniProfiler.config.authorization_mode」という設定があることも知っていますが、可能な設定に関するドキュメントが見つからず、コード内で使用されているのも見当たりません。現時点では :allow_all と表示されていますが、:allow_none も何も実行しません。

開発環境ファイルに一時的に値を設定してサーバーを再起動するだけでも、目的は達成されます。

ベストアンサー1

最新版を入手して次のように入力します:

http://mysite.com?pp=disable

入力が終わったら

http://mysite.com?pp=enable

?pp=helpすべてのオプションについては以下を参照してください:

クエリ文字列に次の内容を追加します。

  pp=help : この画面を表示する
  pp=env : ラック環境を表示する
  pp=skip : このリクエストのミニプロファイラーをスキップします
  pp=no-backtrace : 実行されたすべての SQL からスタック トレースを収集しません (固定、有効にするには pp=normal-backtrace を使用します)
  pp=normal-backtrace (*) : 実行されたすべてのSQLからスタックトレースを収集し、通常どおりフィルタリングします。
  pp=full-backtrace : 実行された SQL の完全なバックトレースを有効にします (無効にするには pp=normal-backtrace を使用します)
  pp=sample : スタック トレースをサンプルし、使用頻度の高い部分を分離したレポートを返します (実験的な機能は、stacktrace gem を使用すると最適に動作します)
  pp=disable : このセッションのプロファイリングを無効にする
  pp=enable : このセッションのプロファイリングを有効にする(以前に無効にした場合)
  pp=profile-gc: このリクエストに対してGCプロファイリングを実行し、リクエストによって生成されたObjectSpaceを分析します(ruby 1.9.3のみ)
  pp=profile-gc-time: このリクエストで組み込みの GC プロファイリングを実行します (Ruby 1.9.3 のみ)

おすすめ記事