如何暂时禁用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,直到强制重启为止)。

Interesting Posts