Commit e0c0cbea authored by Paul Asmuth's avatar Paul Asmuth
Browse files

added FnordMetric::UDPClient

parent b20241d2
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -147,6 +147,7 @@ module FnordMetric
end

require "fnordmetric/api"
require "fnordmetric/udp_client"
require "fnordmetric/inbound_stream"
require "fnordmetric/worker"
require "fnordmetric/widget"
+22 −0
Original line number Diff line number Diff line
class FnordMetric::UDPClient

  def initialize(host, port)
    @sock = UDPSocket.new
    @sock.connect(host, port)
  end

  def event(event_data)
    begin
      if event_data.is_a?(Hash)
        event_data = event_data.to_json
      else
        JSON.parse(event_data) # void ;)
      end
    rescue JSON::ParserError
      FnordMetric.log("event_lost: can't parse json")
    else
      @sock.send(event_data, 0)
    end
  end

end