Sha256: 277feda5cc503d91c822a6447817d2d691ee5f797967353741bb97fc9a496954

Contents?: true

Size: 651 Bytes

Versions: 1

Compression:

Stored size: 651 Bytes

Contents

module NewRelic::Processor
class EpochCounter<NewRelic::Plugin::Processor::Base
    def initialize
      super :epoch_counter, "Epoch Counter"
    end

    def process val
      ret = nil
      curr_time = Time.now

      if val && @last_value && @last_time && curr_time > @last_time
        val = val.to_f
        ret = (val - @last_value.to_f) / (curr_time - @last_time).to_f
      end

      @last_value = val
      @last_time = curr_time

      # This next line is to avoid large negative spikes during epoch reset events...
      return nil if ret.nil? || ret < 0
      ret
    end

    #Component::Setup.install_processor EpochCounter
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
newrelic_plugin-1.3.1 lib/newrelic_plugin/processors/epoch_counter_processor.rb