class VpsbClient::Metrics::Manager

Attributes

created_metric_ids[R]

Public Class Methods

new(builder, uploader, interval_config) click to toggle source
# File lib/vpsb_client/metrics/manager.rb, line 10
def initialize(builder, uploader, interval_config)
  @interval_config = interval_config
  @builder = builder
  @uploader = uploader
  @created_metric_ids = []
end

Public Instance Methods

run() click to toggle source
# File lib/vpsb_client/metrics/manager.rb, line 17
def run
  if @interval_config.min_end_time > Time.now
    VpsbClient.logger.info "Skipping #{@interval_config.length} because too early (min_end_time=#{@interval_config.min_end_time})"
    return
  end

  @builder.each do |metric|
    VpsbClient.logger.debug "metric[:started_at]=#{metric[:started_at]} @interval_config.min_start_time=#{@interval_config.min_start_time}"
    if metric[:started_at] < @interval_config.min_start_time - 1
      VpsbClient.logger.debug "[vpsb] stop builder loop as #{metric[:started_at]} < #{@interval_config.min_start_time}"
      break
    end
    @created_metric_ids << @uploader.upload(metric)
  end
end