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