Class: Sqreen::Metric::Base
- Inherits:
-
Object
- Object
- Sqreen::Metric::Base
- Defined in:
- lib/sqreen/metrics/base.rb
Overview
Base interface for a metric
Instance Attribute Summary collapse
-
#name ⇒ Object
for signals serialization.
-
#period ⇒ Object
for signals serialization.
-
#rule ⇒ Object
optional.
Instance Method Summary collapse
-
#initialize(_opts = {}) ⇒ Base
constructor
A new instance of Base.
-
#next_sample(time) ⇒ Object
create a new empty sample and publish the last one.
-
#update(_key, _value) ⇒ Object
Update the current metric with a new observation.
Constructor Details
#initialize(_opts = {}) ⇒ Base
Returns a new instance of Base.
18 19 20 |
# File 'lib/sqreen/metrics/base.rb', line 18 def initialize(_opts={}) @sample = nil end |
Instance Attribute Details
#name ⇒ Object
for signals serialization
15 16 17 |
# File 'lib/sqreen/metrics/base.rb', line 15 def name @name end |
#period ⇒ Object
for signals serialization
15 16 17 |
# File 'lib/sqreen/metrics/base.rb', line 15 def period @period end |
#rule ⇒ Object
optional
16 17 18 |
# File 'lib/sqreen/metrics/base.rb', line 16 def rule @rule end |
Instance Method Details
#next_sample(time) ⇒ Object
create a new empty sample and publish the last one
32 33 34 35 36 37 |
# File 'lib/sqreen/metrics/base.rb', line 32 def next_sample(time) finalize_sample(time) unless @sample.nil? current_sample = @sample new_sample(time) current_sample end |