:api: plugin
# File lib/merb-core/rack/middleware/profiler.rb, line 18 18: def call(env) 19: measure_names = { RubyProf::ALLOCATIONS => 'allocations', 20: RubyProf::PROCESS_TIME => 'time', RubyProf::MEMORY => "memory" } 21: 22: ret = nil 23: 24: GC.disable 25: @types.each do |type| 26: next if type.nil? 27: 28: if GC.respond_to?(:enable_stats) 29: GC.enable_stats || GC.clear_stats 30: end 31: 32: RubyProf.measure_mode = type 33: RubyProf.start 34: 100.times do 35: ret = super 36: end 37: result = RubyProf.stop 38: printer = RubyProf::CallTreePrinter.new(result) 39: path = "merb_profile_results" / env["PATH_INFO"] 40: FileUtils.mkdir_p(path) 41: printer.print( 42: File.open( 43: "#{path}/callgrind.out.#{measure_names[RubyProf::measure_mode]}", 44: 'w')) 45: 46: GC.disable_stats if GC.respond_to?(:disable_stats) 47: end 48: GC.enable 49: ret 50: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.