class Statue::Metric
Constants
- TYPES
Attributes
full_name[R]
name[RW]
sample_rate[RW]
type[RW]
type_description[R]
value[RW]
Public Class Methods
counter(name, value = 1, options = {})
click to toggle source
# File lib/statue/metric.rb, line 16 def self.counter(name, value = 1, options = {}) new(options.merge(type: :c, value: value, name: name)) end
gauge(name, value, options = {})
click to toggle source
# File lib/statue/metric.rb, line 20 def self.gauge(name, value, options = {}) new(options.merge(type: :g, value: value, name: name)) end
measure(name, options = {}, &block)
click to toggle source
# File lib/statue/metric.rb, line 24 def self.measure(name, options = {}, &block) duration = options.delete(:duration) value = duration || Statue::Clock.duration_in_ms(&block) new(options.merge(type: :ms, value: value, name: name)) end
new(options = {})
click to toggle source
# File lib/statue/metric.rb, line 30 def initialize(options = {}) @type = options.fetch(:type) @name = options.fetch(:name) @value = options.fetch(:value) @type_description = TYPES[type] or raise ArgumentError, "invalid type: #{type}" @sample_rate = options[:sample_rate] || 1.0 @full_name = Statue.namespace ? "#{Statue.namespace}.#{@name}" : @name end
Public Instance Methods
inspect()
click to toggle source
# File lib/statue/metric.rb, line 45 def inspect "#<StatsD::Instrument::Metric #{full_name} #{type_description}(#{value})@#{sample_rate}>" end
to_s()
click to toggle source
# File lib/statue/metric.rb, line 39 def to_s str = "#{full_name}:#{value}|#{type}" str << "|@#{sample_rate}" if sample_rate != 1.0 str end