class Roby::DRoby::Timepoints::Aggregate
Attributes
current_time[R]
timepoints[R]
Public Class Methods
new()
click to toggle source
# File lib/roby/droby/timepoints.rb, line 90 def initialize @timepoints = Array.new end
Public Instance Methods
add(time, name)
click to toggle source
# File lib/roby/droby/timepoints.rb, line 106 def add(time, name) timepoints << Point.new(time, name, time - (current_time || time), self) @current_time = time end
duration()
click to toggle source
# File lib/roby/droby/timepoints.rb, line 102 def duration end_time - start_time end
end_time()
click to toggle source
# File lib/roby/droby/timepoints.rb, line 98 def end_time timepoints.last.end_time end
flamegraph()
click to toggle source
# File lib/roby/droby/timepoints.rb, line 148 def flamegraph result = Array.new duration = timepoints.inject(0) do |d, tp| result.concat(tp.flamegraph) d + tp.duration end result << path << self.duration - duration result end
format(indent: 0, last_time: start_time, base_time: start_time, absolute_times: true)
click to toggle source
# File lib/roby/droby/timepoints.rb, line 122 def format(indent: 0, last_time: start_time, base_time: start_time, absolute_times: true) start_format = "%5.3f %5.3f #{" " * indent}%s" end_format = "%5.3f %5.3f %5.3f #{" " * indent}%s" line_format = "%5.3f %5.3f #{" " * indent} %s" result = Array.new result << start_format % [start_time - base_time, start_time - last_time, "#{name}:start"] last_time = timepoints.inject(last_time) do |last, tp| if tp.respond_to?(:format) result.concat(tp.format(last_time: last, indent: indent + 2, base_time: base_time, absolute_times: absolute_times)) tp.end_time else result << line_format % [tp.time - base_time, tp.time - last, tp.name] tp.time end end result << end_format % [end_time - base_time, end_time - last_time, duration, "#{name}:end"] result end
group_end(time)
click to toggle source
# File lib/roby/droby/timepoints.rb, line 117 def group_end(time) timepoints.last.close(time) @current_time = time end
group_start(time, name)
click to toggle source
# File lib/roby/droby/timepoints.rb, line 111 def group_start(time, name) group = Group.new(time, name, self) timepoints << group group end
path()
click to toggle source
# File lib/roby/droby/timepoints.rb, line 144 def path [name] end
start_time()
click to toggle source
# File lib/roby/droby/timepoints.rb, line 94 def start_time timepoints.first.start_time end