Sha256: d005910683a6e65863ee19b7089655797b2b0ae4383441831b40490657962965

Contents?: true

Size: 887 Bytes

Versions: 21

Compression:

Stored size: 887 Bytes

Contents

#!/usr/bin/env ruby

STDIN.sync = true

shutdown = proc do
  puts 'bye.'
  exit 0
end

trap('QUIT', &shutdown)
trap('INT', &shutdown)
trap('TERM', &shutdown)

total_requests = 0
requests_per_second = 0
max_requests_received = 0

def cast(number)
  "#{number}".ljust(8, ' ')
end

flush = Thread.new do
  loop do
    sleep 1
    template = "unix: %s rps: %s max: %s total: %s"
    bindings = []
    bindings.push(Time.now.to_i)
    bindings.push(cast(requests_per_second))
    bindings.push(cast(max_requests_received))
    bindings.push(cast(total_requests))
    puts (template % bindings)
    requests_per_second = 0
  end
end

read = Thread.new do
  STDIN.each_line do |line|
    line = nil
    total_requests += 1
    requests_per_second += 1
    if requests_per_second > max_requests_received
      max_requests_received = requests_per_second
    end
  end
end

flush.join
read.join

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
ix-cli-0.0.27 bin/ix-rps
ix-cli-0.0.26 bin/ix-rps
ix-cli-0.0.25 bin/ix-rps
ix-cli-0.0.24 bin/ix-rps
ix-cli-0.0.23 bin/ix-rps
ix-cli-0.0.22 bin/ix-rps
ix-cli-0.0.21 bin/ix-rps
ix-cli-0.0.20 bin/ix-rps
ix-cli-0.0.19 bin/ix-rps
ix-cli-0.0.18 bin/ix-rps
ix-cli-0.0.17 bin/ix-rps
ix-cli-0.0.16 bin/ix-rps
ix-cli-0.0.15 bin/ix-rps
ix-cli-0.0.14 bin/ix-rps
ix-cli-0.0.13 bin/ix-rps
ix-cli-0.0.12 bin/ix-rps
ix-cli-0.0.11 bin/ix-rps
ix-cli-0.0.10 bin/ix-rps
ix-cli-0.0.9 bin/ix-rps
ix-cli-0.0.7 bin/ix-rps