class OpenCensus::Stats::ViewData

ViewData is a container to store stats.

Attributes

data[R]

@return [Hash<Array<String>>,AggregationData] Recorded stats data against view columns.

end_time[R]

@return [Time, nil]

start_time[R]

@return [Time, nil]

view[R]

@return [View]

Public Class Methods

new(view, start_time: nil, end_time: nil) click to toggle source

@private Create instance of view

@param [View] view @param [Time] start_time @param [Time] end_time

# File lib/opencensus/stats/view_data.rb, line 27
def initialize view, start_time: nil, end_time: nil
  @view = view
  @start_time = start_time
  @end_time = end_time
  @data = {}
end

Public Instance Methods

clear() click to toggle source

Clear recorded ata

# File lib/opencensus/stats/view_data.rb, line 63
def clear
  data.clear
end
record(measurement, attachments: nil) click to toggle source

Record a measurement.

@param [Measurement] measurement @param [Hash<String,String>] attachments

# File lib/opencensus/stats/view_data.rb, line 48
def record measurement, attachments: nil
  tag_values = @view.columns.map { |column| measurement.tags[column] }

  unless @data.key? tag_values
    @data[tag_values] = @view.aggregation.create_aggregation_data
  end

  @data[tag_values].add(
    measurement.value,
    measurement.time,
    attachments: attachments
  )
end
start() click to toggle source

Set start time.

# File lib/opencensus/stats/view_data.rb, line 35
def start
  @start_time = Time.now.utc
end
stop() click to toggle source

Set stop time.

# File lib/opencensus/stats/view_data.rb, line 40
def stop
  @end_time = Time.now.utc
end