class Mmtrix::Rack::DeveloperMode::SegmentSummary
Attributes
call_count[RW]
current_nest_count[RW]
exclusive_time[RW]
metric_name[RW]
total_time[RW]
Public Class Methods
new(metric_name, sample)
click to toggle source
# File lib/mmtrix/rack/developer_mode/segment_summary.rb, line 13 def initialize(metric_name, sample) @metric_name = metric_name @total_time, @exclusive_time, @call_count = 0,0,0 @sample = sample @current_nest_count = 0 end
Public Instance Methods
<<(segment)
click to toggle source
# File lib/mmtrix/rack/developer_mode/segment_summary.rb, line 20 def <<(segment) if metric_name != segment.metric_name raise ArgumentError, "Metric Name Mismatch: #{segment.metric_name} != #{metric_name}" end # a nested segment should use the sum of the top level totals @total_time += segment.duration if current_nest_count == 0 @exclusive_time += segment.exclusive_duration @call_count += 1 end
average_exclusive_time()
click to toggle source
# File lib/mmtrix/rack/developer_mode/segment_summary.rb, line 35 def average_exclusive_time @exclusive_time / @call_count end
average_time()
click to toggle source
# File lib/mmtrix/rack/developer_mode/segment_summary.rb, line 31 def average_time @total_time / @call_count end
exclusive_time_percentage()
click to toggle source
# File lib/mmtrix/rack/developer_mode/segment_summary.rb, line 39 def exclusive_time_percentage return 0 unless @exclusive_time && @sample.duration && @sample.duration > 0 @exclusive_time / @sample.duration end
total_time_percentage()
click to toggle source
# File lib/mmtrix/rack/developer_mode/segment_summary.rb, line 44 def total_time_percentage return 0 unless @total_time && @sample.duration && @sample.duration > 0 @total_time / @sample.duration end
ui_name()
click to toggle source
# File lib/mmtrix/rack/developer_mode/segment_summary.rb, line 49 def ui_name return @metric_name if @metric_name == 'Remainder' Mmtrix::MetricParser::MetricParser.parse(@metric_name).developer_name end