class Meter::Metric::Base
Attributes
data[R]
name[R]
sample_rate[RW]
value[RW]
Public Class Methods
new(name:, value: default_value, sample_rate: 1, tags: {}, data: {})
click to toggle source
# File lib/meter/metric/base.rb, line 14 def initialize(name:, value: default_value, sample_rate: 1, tags: {}, data: {}) self.name = name self.value = value self.sample_rate = sample_rate self.tags = tags self.data = data end
Public Instance Methods
data=(new_data)
click to toggle source
# File lib/meter/metric/base.rb, line 31 def data=(new_data) @data = default_data.merge(new_data) end
name=(new_name)
click to toggle source
# File lib/meter/metric/base.rb, line 22 def name=(new_name) # Replace Ruby module scoping with '.' and reserved chars (: | @) with underscores. @name = new_name.to_s.gsub('::', '.').tr(':|@', '_') end
type()
click to toggle source
# File lib/meter/metric/base.rb, line 11 def type end
Private Instance Methods
default_data()
click to toggle source
# File lib/meter/metric/base.rb, line 47 def default_data { timestamp: Time.now.strftime("%FT%H:%M:%S%:z"), host: ::Meter.config.hostname, }.merge(::Meter::MDC.data) end
default_value()
click to toggle source
# File lib/meter/metric/base.rb, line 37 def default_value end