class Statsd::Batch
Attributes
batch_size[RW]
pool_size[RW]
Public Class Methods
new(statsd, batch_size)
click to toggle source
# File lib/statsd.rb, line 100 def initialize(statsd, batch_size) @batch_size = batch_size @namespace = statsd.namespace @reporter = Statsd::Reporter.new(statsd, batch_size, pool_size) end
Protected Instance Methods
check_and_enqueue(msg)
click to toggle source
# File lib/statsd.rb, line 118 def check_and_enqueue(msg) if @reporter.queue.size == @reporter.batch_size logger = Logger.new('queue.log') logger.warn "Queue at Max Capacity !" else @reporter.enqueue(msg) end end
send_stat(stat, delta, type, sample_rate=1)
click to toggle source
# File lib/statsd.rb, line 108 def send_stat(stat, delta, type, sample_rate=1) if sample_rate == 1 or rand < sample_rate stat = stat.to_s.gsub('::', '.').tr(':|@', '_') prefix = "#{@namespace}." unless @namespace.nil? rate = "|@#{sample_rate}" unless sample_rate == 1 msg = "#{prefix}#{stat}:#{delta}|#{type}#{rate}" check_and_enqueue(msg) end end