Sha256: 35fd876d93b1b5d7e491ecf35aab302718b405691e7790cfce8532f5f4bc07d0
Contents?: true
Size: 878 Bytes
Versions: 34
Compression:
Stored size: 878 Bytes
Contents
module Rack::Insight #Variant of the Speed Tracer Panel that performs a nearly complete profile of #all code called during a request. Note that this will slow overall response #time by several orders of magnitude, and may return more data than #SpeedTracer is prepared to display class ProfilingSpeedTracer < SpeedTracer def before(env) super tracer = env['st.tracer'] Kernel::set_trace_func proc {|event, file, line, name, binding,classname| case event when "c-call", "call" methodname = classname ? "" : classname methodname += name.to_s tracer.start_event(file, line, name, classname || "", "") when "c-return", "return" tracer.finish_event end } end def after(env, status, headers, body) Kernel::set_trace_func(nil) super end end end
Version data entries
34 entries across 34 versions & 1 rubygems