class DucksboardReporter::Reporters::HaproxyLogRequests

Attributes

nosrvs[R]
requests[R]

Public Instance Methods

collect() click to toggle source
# File lib/ducksboard_reporter/reporters/haproxy_log_requests.rb, line 7
def collect
  requests = 0
  nosrvs = 0

  begin
    tail = FileTail.new(options[:log_file])
  rescue Errno::ENOENT
    error("HaproxyLogRequests: Log file does not exist #{options[:log_file]}")
    return
  end

  every(1) do
    @requests, requests = requests, 0
    @nosrvs, nosrvs = nosrvs, 0
  end

  tail.on_line do |line|
    case line
    when /NOSRV/
      nosrvs += 1
    when /./
      requests += 1
    else
      sleep 0.1
    end
  end

  tail.run
end