class StatsdListener
Public Class Methods
new(host: nil, port: nil)
click to toggle source
# File lib/statsd_listener.rb, line 14 def initialize(host: nil, port: nil) $stdout.sync = true @socket = UDPSocket.new @port = PortSanitizer.sanitize(port) @host = host.nil? ? '127.0.0.1' : host @socket.bind(@host, @port) end
run(port: nil, host: nil)
click to toggle source
# File lib/statsd_listener.rb, line 8 def self.run(port: nil, host: nil) puts "Starting MiniStatsd...\n\n" new(host: host, port: port).run end
Public Instance Methods
run()
click to toggle source
# File lib/statsd_listener.rb, line 24 def run puts "Listening on #{@host}:#{@port}" while @message = @socket.recvfrom(@port) extract_metric print_metric end end
Private Instance Methods
extract_metric()
click to toggle source
# File lib/statsd_listener.rb, line 36 def extract_metric return if @message.empty? @metric, @value = @message.first.split(':') end
print_metric()
click to toggle source
# File lib/statsd_listener.rb, line 42 def print_metric puts "#{bold('Metric Received')}: #{blue(@metric)} | value: #{green(@value)}" end