Module: Traxor::Metric

Defined in:
lib/traxor/metric.rb

Class Method Summary collapse

Class Method Details

.count(name, value, tags = {}) ⇒ Object



7
8
9
# File 'lib/traxor/metric.rb', line 7

def self.count(name, value, tags = {})
  log("count##{name}=#{value} #{tag_string(tags)}")
end

.log(string) ⇒ Object



29
30
31
32
33
# File 'lib/traxor/metric.rb', line 29

def self.log(string)
  return unless Traxor.enabled?

  logger.info(normalize_values(string))
end

.loggerObject



35
36
37
# File 'lib/traxor/metric.rb', line 35

def self.logger
  Traxor.logger
end

.measure(name, value, tags = {}) ⇒ Object



11
12
13
# File 'lib/traxor/metric.rb', line 11

def self.measure(name, value, tags = {})
  log("measure##{name}=#{value} #{tag_string(tags)}")
end

.normalize_values(value) ⇒ Object



25
26
27
# File 'lib/traxor/metric.rb', line 25

def self.normalize_values(value)
  value.to_s.gsub(/::/, '.').underscore.strip
end

.sample(name, value, tags = {}) ⇒ Object



15
16
17
# File 'lib/traxor/metric.rb', line 15

def self.sample(name, value, tags = {})
  log("sample##{name}=#{value} #{tag_string(tags)}")
end

.tag_string(tags) ⇒ Object



19
20
21
22
23
# File 'lib/traxor/metric.rb', line 19

def self.tag_string(tags)
  Hash(tags).merge(Traxor::Tags.all).map do |tag_name, tag_value|
    "tag##{tag_name}=#{tag_value}"
  end.join(' ')
end