class OpenCensus::Stats::Recorder
Stats
recorder.
Recorder
record measurement against measure for registered views.
Attributes
measure_views_data[R]
@private @return [Hash<String,Array<<ViewData>>] Hash of view name and View
data objects array.
measures[R]
@private @return [Hash<String,Measure>] Hash of measure name and Measure
object.
views[R]
@private @return [Hash<String,View>] Hash of view name and View
object.
Public Class Methods
new()
click to toggle source
@private Create instance of the recorder.
# File lib/opencensus/stats/recorder.rb, line 28 def initialize @views = {} @measures = {} @measure_views_data = {} @time = Time.now.utc end
Public Instance Methods
clear_stats()
click to toggle source
Clear recorded stats.
# File lib/opencensus/stats/recorder.rb, line 93 def clear_stats @measure_views_data.each_value do |views_data| views_data.each(&:clear) end end
record(*measurements, attachments: nil)
click to toggle source
Record measurements
@param [Array<Measurement>, Measurement] measurements @param [Hash<String,String>] attachments
# File lib/opencensus/stats/recorder.rb, line 61 def record *measurements, attachments: nil return if measurements.any? { |m| m.value < 0 } measurements.each do |measurement| views_data = @measure_views_data[measurement.measure.name] next unless views_data views_data.each do |view_data| view_data.record measurement, attachments: attachments end end end
register_view(view)
click to toggle source
Register view
@param [View] view @return [View]
# File lib/opencensus/stats/recorder.rb, line 39 def register_view view return if @views.key? view.name @views[view.name] = view @measures[view.measure.name] = view.measure unless @measure_views_data.key? view.measure.name @measure_views_data[view.measure.name] = [] end @measure_views_data[view.measure.name] << ViewData.new( view, start_time: @time, end_time: @time ) view end
view_data(view_name)
click to toggle source
Get recorded data for given view name
@param [String] view_name View
name @return [ViewData]
# File lib/opencensus/stats/recorder.rb, line 78 def view_data view_name view = @views[view_name] return unless view views_data = @measure_views_data[view.measure.name] views_data.find { |view_data| view_data.view.name == view.name } end
views_data()
click to toggle source
Get all views data list @return [Array<ViewData>]
# File lib/opencensus/stats/recorder.rb, line 88 def views_data @measure_views_data.values.flatten end