如何暂时禁用Rack-Mini-Profiler?
我在rails中使用机架迷你探查器就好了,但是在一些编程会话中,特别是在处理许多不同的客户端代码时,它会阻碍。 (主要在我的客户端debugging工具networking图等)
我试图用一个之前的filter来closures它,也用来查看用户是否有权查看configuration文件,但“取消授权”似乎没有为我做任何事情。 这是我的代码称为之前的filter:
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”,但我无法find可能的设置是什么文档,并没有看到它在代码中使用? 现在它告诉我:allow_all,但是:allow_none也不做任何事情。
即使我可以暂时在开发环境文件中设置一个值,然后重新启动服务器,也可以达到我的目的。
获取最新信息并input:
http://mysite.com?pp=disable
当你完成键入
http://mysite.com?pp=enable
请参阅?pp=help
获取所有选项:
将以下内容附加到您的查询string中: 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 =样本:样本堆栈跟踪并返回隔离重度使用的报告(实验最适合堆栈跟踪gem) pp =禁用:禁用此会话的分析 pp =启用:启用此会话的分析(如果以前禁用) pp = profile-gc:对此请求执行gc分析,分析由请求生成的ObjectSpace(仅适用于ruby 1.9.3) pp = profile-gc-time:对这个请求执行内置的gc分析(只有ruby 1.9.3)
您也可以使用Alt+p
切换。
如果你想让事件探查器被初始化,然后按需求激活…在初始化文件中添加一个预授权的callback,如:
Rack::MiniProfiler.config.pre_authorize_cb = lambda {|env| ENV['RACK_MINI_PROFILER'] == 'on'}
然后在应用程序控制器中添加一个查找pp参数的before_filter
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 = enabled。 然后你可以稍后再禁用(pp =禁用只会closures当前会话,但是将ENVvariables设置为off会完全closures,直到强制重启为止)。