Sha256: db86d51c446f0c8c49860eb845caa7f1b4fd0caa0e5b37db2254596987b06d96
Contents?: true
Size: 1021 Bytes
Versions: 11
Compression:
Stored size: 1021 Bytes
Contents
# encoding: utf-8 require "kurchatov/riemann/client" module Kurchatov module Responders class Riemann < Kurchatov::Plugin include Kurchatov::Mixin::Queue FLUSH_INTERVAL = 0.5 def initialize(conn) @hosts = conn @riemanns = Array.new end def run make_clients loop { flush; sleep FLUSH_INTERVAL } end private def make_clients @riemanns.clear @hosts.each do |host| riemann, port = host.split(':') @riemanns << Kurchatov::Riemann::Client.new(:host => riemann, :port => port) @name = @riemanns.map { |c| "riemann client [#{c.host}:#{c.port}]" }.join(' , ') end end def flush @events_to_send ||= events.all unless @events_to_send.empty? @riemanns.each {|riemann| riemann << @events_to_send } Log.debug("Sended events via #{@name.inspect}: #{@events_to_send}") end @events_to_send = nil end end end end
Version data entries
11 entries across 11 versions & 1 rubygems