2012-09-13 26 views
42

Estoy usando rack mini profiler en rieles muy bien, pero durante algunas sesiones de codificación, especialmente cuando estoy trabajando en un código diferente del lado del cliente, se pone en el camino. (principalmente en mi herramienta de depuración del lado del cliente gráficos de red, etc.)¿Cómo desactivar Rack-Mini-Profiler temporalmente?

Estoy tratando de apagarlo con un filtro anterior, que también sirve para ver si el usuario está autorizado para ver el perfil de todos modos, pero "desautorizar "no parece hacer nada por mí". Aquí está mi código llamado como antes filtro:

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 

también sé que hay un ajuste "Rack :: MiniProfiler.config.authorization_mode", pero no puedo encontrar documentación sobre lo que los posibles ajustes son, y no ver lo usó en el código? Ahora mismo me dice: allow_all, pero: allow_none tampoco hace nada.

Incluso si puedo establecer temporalmente un valor en el archivo de entorno de desarrollo y reiniciar el servidor, eso serviría para mis propósitos.

Respuesta

78

Obtener última y tipo:

http://mysite.com?pp=disable

Cuando haya terminado tipo

http://mysite.com?pp=enable

Ver ?pp=help para todas las opciones:

 
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

¡Excelente! Gracias por agregar que Sam! –

+0

¡Funciona muy bien! Gracias de nuevo. –

+0

@DaveSanders no se preocupe, no dude en realizar solicitudes de funciones, etc. en http://community.miniprofiler.com –

21

También puede use Alt+p para alternar.

+0

Particularmente útil, cuando se usa la opción 'start_hidden' !! – Eero

2

Si desea que el generador de perfiles que se desactive al principio, y luego activar la demanda ... añadir una devolución de llamada preautorizar en un fichero de inicialización como:

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

continuación en el controlador de la aplicación, añadir un before_filter que busca el parámetro pp

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 

su entorno no habrá RACK_MINI_PROFILER fijado inicialmente, pero si quieres para encenderlo, puede virar? pp = habilitado en su URL. Luego, puede volver a desactivarlo más tarde (el parámetro pp = disabled solo lo desactivará para la sesión actual, pero al desactivar la variable ENV lo matará por completo hasta que vuelva a forzarlo).

Cuestiones relacionadas