module FFWD::Plugin::Statsd::Parser
Constants
- COUNT
- HISTOGRAM
- RATE
Public Class Methods
count(name, value)
click to toggle source
# File lib/ffwd/plugin/statsd/parser.rb, line 28 def self.count name, value {:proc => COUNT, :key => name, :value => value} end
gauge(name, value)
click to toggle source
# File lib/ffwd/plugin/statsd/parser.rb, line 24 def self.gauge name, value {:proc => nil, :key => name, :value => value} end
meter(name, value)
click to toggle source
# File lib/ffwd/plugin/statsd/parser.rb, line 32 def self.meter name, value {:proc => RATE, :key => name, :value => value} end
parse(m)
click to toggle source
# File lib/ffwd/plugin/statsd/parser.rb, line 40 def self.parse m name, value = m.split ':', 2 if value.nil? raise ParserError.new("Missing value") end value, type_block = value.split '|', 2 if type_block.nil? raise ParserError.new("Missing type") end type, sample_rate = type_block.split '|@', 2 if type.nil? or type.empty? raise ParserError.new("Missing type") end if value.nil? or value.empty? raise ParserError.new("Missing value") end value = value.to_f sample_rate = sample_rate.to_f unless sample_rate.nil? value /= sample_rate unless sample_rate.nil? if type == "g" return gauge(name, value) end if type == "c" return count(name, value) end if type == "m" return meter(name, value) end if type == "ms" or type == "h" return timing(name, value) end raise ParserError.new( "Received message of unsupported type '#{type}'") end
timing(name, value)
click to toggle source
# File lib/ffwd/plugin/statsd/parser.rb, line 36 def self.timing name, value {:proc => HISTOGRAM, :key => name, :value => value} end