Sha256: e3fd0f64c3090a5c024afe79096fffba3678f295a2b3ccbbcb51f2301873ed54
Contents?: true
Size: 1.79 KB
Versions: 3
Compression:
Stored size: 1.79 KB
Contents
# encoding: utf-8 module RubyProf # The CallInfo class is used to track the relationships between methods. It is a helper class used by # RubyProf::MethodInfo to keep track of which methods called a given method and which methods a given # method called. Each CallInfo has a parent and target method. You cannot create a CallInfo object directly, # they are generated while running a profile. class CallInfo # The number of times the parent method called the target method def called self.measurement.called end # The total time resulting from the parent method calling the target method def total_time self.measurement.total_time end # The self time (of the parent) resulting from the parent method calling the target method def self_time self.measurement.self_time end # The wait time (of the parent) resulting from the parent method calling the target method def wait_time self.measurement.wait_time end # The time spent in child methods resulting from the parent method calling the target method def children_time self.total_time - self.self_time - self.wait_time end # Compares two CallInfo instances. The comparison is based on the CallInfo#parent, CallInfo#target, # and total time. def <=>(other) if self.target == other.target && self.parent == other.parent 0 elsif self.total_time < other.total_time -1 elsif self.total_time > other.total_time 1 else self.target.full_name <=> other.target.full_name end end # :nodoc: def to_s "#{parent ? parent.full_name : '<nil>'} - #{target.full_name}" end def inspect super + "(#{self.to_s})" end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
ruby-prof-1.1.0-x64-mingw32 | lib/ruby-prof/call_info.rb |
ruby-prof-1.1.0 | lib/ruby-prof/call_info.rb |
ruby-prof-1.0.0 | lib/ruby-prof/call_info.rb |