Sha256: 4c4665e90d919d469951bac9c996b2449c1408b29a45cf2a90c4f43c5275bba0
Contents?: true
Size: 836 Bytes
Versions: 2
Compression:
Stored size: 836 Bytes
Contents
module RubyProf class Thread def top_methods self.methods.select do |method_info| method_info.call_infos.detect(&:root?) end end def top_call_infos top_methods.map(&:call_infos).flatten.select(&:root?) end 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 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 end end
Version data entries
2 entries across 2 versions & 2 rubygems
Version | Path |
---|---|
ruby-prof-0.17.0 | lib/ruby-prof/thread.rb |
airbnb-ruby-prof-0.0.1 | lib/ruby-prof/thread.rb |