Class: Observed::Plugins::Gauge
- Inherits:
-
Translator
- Object
- Translator
- Observed::Plugins::Gauge
- Includes:
- Logging, Reporter::RegexpMatching
- Defined in:
- lib/observed/gauge.rb
Instance Method Summary collapse
Instance Method Details
#prepare_rrd(args) ⇒ Object
35 36 37 38 39 40 41 42 43 44 |
# File 'lib/observed/gauge.rb', line 35 def prepare_rrd(args) start = args[:start] log_debug "Creating a rrd file named '#{args[:rrd]}' with options {:start => #{start}}" result = RRD::Builder.new(args[:rrd], start: start, step: step.seconds).tap do |builder| builder.datasource data_source, :type => :gauge, :heartbeat => period.seconds, :min => 0, :max => :unlimited builder.archive :average, :every => period.seconds, :during => period.seconds builder.save end log_debug "Builder#save returned: #{result.inspect}" end |
#translate(data, options) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/observed/gauge.rb', line 23 def translate(data, ) time = [:time] || Time.now rewrote = update_value_for_key_path(data, key_path) do |v| sample = coerce.call(v) average = get_cdp_updated_with(time, sample) average end unless fetch_value_for_key_path(rewrote, key_path).nan? rewrote end end |