Sha256: 1d832841607544b3fcc664b7a7d65650305e98b40920561beb8bc5bed3d95422
Contents?: true
Size: 1.12 KB
Versions: 2
Compression:
Stored size: 1.12 KB
Contents
begin require 'statsd' rescue LoadError end module Hallmonitor module Outputters # An outputter for StatsD class StatsdOutputter < Outputter # Builds a new StatsdOutputter. # @param prefix [String] Prefix for all events output by this outputter, # the prefix will be applied to all event names before sending to statsd # @param host [String] Statsd Host, defaults to 'localhost' # @param port [Number] Statsd Port, defaults to 8125 # @raise if Statsd is undefined (Gem not present) def initialize(prefix, host="localhost", port=8125) raise "In order to use StatsdOutputter, statsd gem must be installed" unless defined?(Statsd) super(prefix) @statsd = Statsd.new(host).tap{|sd| sd.namespace = name} end # Sends events to statsd instance def process(event) if(event.respond_to?(:duration)) @statsd.timing(event.name, event.duration) elsif(event.respond_to?(:value)) @statsd.gauge(event.name, event.value) else @statsd.count(event.name, event.count) end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
hallmonitor-1.1.0 | lib/hallmonitor/outputters/statsd_outputter.rb |
hallmonitor-1.0.0 | lib/hallmonitor/outputters/statsd_outputter.rb |