Sha256: c1dcbe110a951ffdb6a9ee66fa54766277ce9ac945f2a2369f5fe2e3c5ec4f61

Contents?: true

Size: 1.05 KB

Versions: 10

Compression:

Stored size: 1.05 KB

Contents

# encoding: utf-8
module SimpleMetrics
  module DataPoint
    class Base

      attr_accessor :name, :ts, :type, :value, :total, :sum
      attr_reader :id

      def initialize(attributes)
        @id          = attributes[:id]
        @name        = attributes[:name]
        @value       = attributes[:value]
        @ts          = attributes[:ts]
        @sample_rate = attributes[:sample_rate]
        @sum         = attributes[:sum]
        @total       = attributes[:total]
      end

      def counter?
        @type == 'c'
      end

      def gauge?
        @type == 'g'
      end

      def timing?
        @type == 'ms'
      end

      def event?
        @type == 'ev'
      end

      def timestamp
        ts
      end

      def value
        @value.to_i if @value
      end

      def attributes
        { 
          :name  => @name,
          :value => @value,
          :ts    => @ts,
          :type  => @type,
          :total => @total,
          :sum   => @sum
        }
      end

      def to_s
        attributes.to_s
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
simple_metrics-0.4.6 lib/simple_metrics/data_point/base.rb
simple_metrics-0.4.5 lib/simple_metrics/data_point/base.rb
simple_metrics-0.4.4 lib/simple_metrics/data_point/base.rb
simple_metrics-0.4.3 lib/simple_metrics/data_point/base.rb
simple_metrics-0.4.2 lib/simple_metrics/data_point/base.rb
simple_metrics-0.3.6 lib/simple_metrics/data_point/base.rb
simple_metrics-0.3.5 lib/simple_metrics/data_point/base.rb
simple_metrics-0.3.4 lib/simple_metrics/data_point/base.rb
simple_metrics-0.3.3 lib/simple_metrics/data_point/base.rb
simple_metrics-0.3.2 lib/simple_metrics/data_point/base.rb