class GroongaQueryLog::Command::Analyzer::WorkerStatistic
Attributes
id[R]
idle_time_max[R]
idle_time_mean[R]
idle_time_min[R]
idle_time_total[R]
metrics[R]
n_statistics[R]
Public Class Methods
new(id)
click to toggle source
# File lib/groonga-query-log/command/analyzer/worker-statistic.rb, line 28 def initialize(id) @id = id @idle_time_total = 0.0 @idle_time_mean = 0.0 @idle_time_min = 0.0 @idle_time_max = 0.0 @n_statistics = 0 @metrics = { timestamp: [], idle_time: [], elapsed: [], } @previous_statistic = nil end
Public Instance Methods
<<(statistic)
click to toggle source
# File lib/groonga-query-log/command/analyzer/worker-statistic.rb, line 43 def <<(statistic) @n_statistics += 1 if @previous_statistic idle_time = statistic.start_time - @previous_statistic.end_time @idle_time_total += idle_time @idle_time_mean += ((idle_time - @idle_time_mean) / @n_statistics) if @idle_time_min.zero? @idle_time_min = idle_time else @idle_time_min = [@idle_time_min, idle_time].min end @idle_time_max = [@idle_time_max, idle_time].max @metrics[:timestamp] << statistic.start_time @metrics[:idle_time] << idle_time @metrics[:elapsed] << statistic.elapsed_in_seconds end @previous_statistic = statistic end