class RubyProf::Thread

Public Instance Methods

top_call_infos() click to toggle source
# File lib/ruby-prof/thread.rb, line 9
def top_call_infos
  top_methods.map(&:call_infos).flatten.select(&:root?)
end
top_methods() click to toggle source
# File lib/ruby-prof/thread.rb, line 3
def top_methods
  self.methods.select do |method_info|
    method_info.call_infos.detect(&:root?)
  end
end
total_time() click to toggle source
# File lib/ruby-prof/thread.rb, line 13
def total_time
  self.top_methods.inject(0) do |sum, method_info|
    method_info.call_infos.each do |call_info|
      if call_info.parent.nil?
        sum += call_info.total_time
      end
    end
    sum
  end
end
wait_time() click to toggle source
# File lib/ruby-prof/thread.rb, line 24
def wait_time
  # wait_time, like self:time, is always method local
  # thus we need to sum over all methods and call infos
  self.methods.inject(0) do |sum, method_info|
    method_info.call_infos.each do |call_info|
      sum += call_info.wait_time
    end
    sum
  end
end