:api: plugin
# File lib/merb-core/rack/middleware/profiler.rb, line 18 def call(env) measure_names = { RubyProf::ALLOCATIONS => 'allocations', RubyProf::PROCESS_TIME => 'time', RubyProf::MEMORY => "memory" } ret = nil GC.disable @types.each do |type| next if type.nil? if GC.respond_to?(:enable_stats) GC.enable_stats || GC.clear_stats end RubyProf.measure_mode = type RubyProf.start 100.times do ret = super end result = RubyProf.stop printer = RubyProf::CallTreePrinter.new(result) path = "merb_profile_results" / env["PATH_INFO"] FileUtils.mkdir_p(path) printer.print( File.open( "#{path}/callgrind.out.#{measure_names[RubyProf::measure_mode]}", 'w')) GC.disable_stats if GC.respond_to?(:disable_stats) end GC.enable ret end
Generated with the Darkfish Rdoc Generator 2.