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(type: :c, value: value, name: name, **options) end
gauge(name, value, **options)
click to toggle source
# File lib/statue/metric.rb, line 20 def self.gauge(name, value, **options) new(type: :g, value: value, name: name, **options) end
measure(name, duration: nil, **options, &block)
click to toggle source
# File lib/statue/metric.rb, line 24 def self.measure(name, duration: nil, **options, &block) value = duration || Statue::Clock.duration_in_ms(&block) new(type: :ms, value: value, name: name, **options) end
new(type:, name:, value:, sample_rate: 1.0)
click to toggle source
# File lib/statue/metric.rb, line 29 def initialize(type:, name:, value:, sample_rate: 1.0) @type_description = TYPES[type] or raise ArgumentError, "invalid type: #{type}" @type = type @name = name @value = value @sample_rate = sample_rate @full_name = Statue.namespace ? "#{Statue.namespace}.#{@name}" : @name end
Public Instance Methods
inspect()
click to toggle source
# File lib/statue/metric.rb, line 44 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 38 def to_s str = "#{full_name}:#{value}|#{type}" str << "|@#{sample_rate}" if sample_rate != 1.0 str end