Module: Spider::Profiling
- Defined in:
- lib/spiderfw/utils/profiling.rb
Class Method Summary collapse
Class Method Details
.start ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 |
# File 'lib/spiderfw/utils/profiling.rb', line 5 def self.start raise "Profiling already started" if @profiling_started unless Spider.request_mutex Spider.mutex_requests! Spider.request_mutex.lock end require 'ruby-prof' Spider.logger.debug("Starting profiling") @profiling_started = true RubyProf.start end |
.started? ⇒ Boolean
30 31 32 |
# File 'lib/spiderfw/utils/profiling.rb', line 30 def self.started? @profiling_started end |
.stop ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/spiderfw/utils/profiling.rb', line 17 def self.stop result = RubyProf.stop @profiling_started = false printer = ::RubyProf::GraphHtmlPrinter.new(result) file_name = Spider.paths[:tmp]+"/prof_#{DateTime.now.to_s}.html" File.open(file_name, 'w') do |f| printer.print(f, :min_percent => 0) end Spider.logger.info("Written profiling info in #{file_name}") Spider.request_mutex.unlock Spider.request_mutex = nil end |