2012-09-13 21 views
42

私はラックのミニプロファイラを使っていますが、いくつかのコーディングセッションでは、特に多くの異なるクライアントサイドコードを扱っています。 (主に私のクライアント側のデバッグツールのネットワークグラフなどで)Rack-Mini-Profilerを一時的に無効にする方法は?

私はこれをオフにしようとしています。これは、ユーザーにプロファイルを表示する権限が与えられているかどうかを確認する役割も果たしますが、 "私にとっては何もしないようです。私はまた、設定「ラック:: MiniProfiler.config.authorization_mode」がある知っているが、私は可能な設定が何であるかにドキュメントを見つけることができない、と見ていない

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 

:ここと呼ばれる私のコードは、フィルタの前ですそれはコードで使用されていますか?今、それは私に言っている:allow_all、しかし:allow_noneも何もしません。

私はちょうどdev環境ファイルに値を設定してサーバーを再起動しても、それは私の目的に役立ちます。

答えて

78

最新かつタイプ取得:完了したらタイプ

http://mysite.com?pp=enable

は、すべてのオプションのため?pp=helpを参照してください

http://mysite.com?pp=disable

を:また

 
Append the following to your query string: 

    pp=help : display this screen 
    pp=env : display the rack environment 
    pp=skip : skip mini profiler for this request 
    pp=no-backtrace : don't collect stack traces from all the SQL executed (sticky, use pp=normal-backtrace to enable) 
    pp=normal-backtrace (*) : collect stack traces from all the SQL executed and filter normally 
    pp=full-backtrace : enable full backtraces for SQL executed (use pp=normal-backtrace to disable) 
    pp=sample : sample stack traces and return a report isolating heavy usage (experimental works best with the stacktrace gem) 
    pp=disable : disable profiling for this session 
    pp=enable : enable profiling for this session (if previously disabled) 
    pp=profile-gc: perform gc profiling on this request, analyzes ObjectSpace generated by request (ruby 1.9.3 only) 
    pp=profile-gc-time: perform built-in gc profiling on this request (ruby 1.9.3 only) 
+0

優秀!サムを追加してくれてありがとう! –

+0

素晴らしい作品です!再度、感謝します。 –

+0

@DaveSanders心配する必要はありません。http://community.miniprofiler.comで任意の機能要求などを自由にお持ちください。 –

21

することができますトグルするにはAlt+pを使用してください。 before_filterを追加し、アプリケーションのコントローラで、その後

Rack::MiniProfiler.config.pre_authorize_cb = lambda {|env| ENV['RACK_MINI_PROFILER'] == 'on'} 

:あなたはプロファイラが最初に無効にして、オンデマンドでアクティベートする場合は

+0

'start_hidden'オプションを使うと特に便利です!! – Eero

2

...のような初期化ファイルに事前承認のコールバックを追加その頁のPARAMを探し

before_filter :activate_profiler 
def activate_profiler 
    ENV['RACK_MINI_PROFILER'] = 'on' if params['pp'] 
    ENV['RACK_MINI_PROFILER'] = 'off' if params['pp'] == 'disabled' 
end 

お使いの環境ではRACK_MINI_PROFILERが最初に設定されていませんが、あなたがそれをオンにしたい場合は、タックすることができますか?あなたのURLに有効な頁を=。その後、もう一度無効にすることができます(pp = disabledは現在のセッションでのみ無効にしますが、ENV変数をoffに設定すると強制的に強制終了されます)。

関連する問題