Class: Protor::Observer
- Inherits:
-
Object
- Object
- Protor::Observer
- Defined in:
- lib/protor/observer.rb
Instance Method Summary collapse
- #empty? ⇒ Boolean
-
#initialize(type) ⇒ Observer
constructor
A new instance of Observer.
- #observe(metric_name, value, labels = {}, additional = []) ⇒ Object
- #to_a ⇒ Object
Constructor Details
#initialize(type) ⇒ Observer
Returns a new instance of Observer.
3 4 5 6 |
# File 'lib/protor/observer.rb', line 3 def initialize(type) @data = {} @type = type end |
Instance Method Details
#empty? ⇒ Boolean
39 40 41 |
# File 'lib/protor/observer.rb', line 39 def empty? data.empty? end |
#observe(metric_name, value, labels = {}, additional = []) ⇒ Object
8 9 10 11 12 13 14 |
# File 'lib/protor/observer.rb', line 8 def observe(metric_name, value, labels = {}, additional = []) data[metric_name] ||= { values: {} } data[metric_name][:values][labels] ||= [] data[metric_name][:additional] = additional data[metric_name][:values][labels] << value end |
#to_a ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/protor/observer.rb', line 16 def to_a array = [] data.each do |metric_name, values| first = true values[:values].each do |labels, value| value.each do |val| array << { metric_name: metric_name, labels: labels, value: val, additional: values[:additional], first: first, type: type } first = false end end end return array end |