bin/riemann-bench in riemann-tools-1.0.0 vs bin/riemann-bench in riemann-tools-1.1.0
- old
+ new
@@ -1,70 +1,75 @@
#!/usr/bin/env ruby
-Process.setproctitle($0)
+# frozen_string_literal: true
+Process.setproctitle($PROGRAM_NAME)
+
# Connects to a server (first arg) and populates it with a constant stream of
# events for testing.
require 'rubygems'
require 'riemann/client'
require 'pp'
-class Riemann::Bench
- attr_accessor :client, :hosts, :services, :states
- def initialize
- @hosts = [nil] + (0...10).map { |i| "host#{i}" }
- @hosts = %w(a b c d e f g h i j)
- @services = %w(test1 test2 test3 foo bar baz xyzzy attack cat treat)
- @states = {}
- @client = Riemann::Client.new(:host => (ARGV.first || 'localhost'))
- end
+module Riemann
+ class Bench
+ attr_accessor :client, :hosts, :services, :states
- def evolve(state)
- m = state[:metric] + (rand - 0.5) * 0.1
- m = [[0,m].max, 1].min
+ def initialize
+ @hosts = [nil] + (0...10).map { |i| "host#{i}" }
+ @hosts = %w[a b c d e f g h i j]
+ @services = %w[test1 test2 test3 foo bar baz xyzzy attack cat treat]
+ @states = {}
+ @client = Riemann::Client.new(host: (ARGV.first || 'localhost'))
+ end
- s = case m
- when 0...0.75
- 'ok'
- when 0.75...0.9
- 'warning'
- when 0.9..1.0
- 'critical'
+ def evolve(state)
+ m = state[:metric] + (rand - 0.5) * 0.1
+ m = [[0, m].max, 1].min
+
+ s = case m
+ when 0...0.75
+ 'ok'
+ when 0.75...0.9
+ 'warning'
+ when 0.9..1.0
+ 'critical'
+ end
+
+ {
+ metric: m,
+ state: s,
+ host: state[:host],
+ service: state[:service],
+ description: "at #{Time.now}",
+ }
end
- {
- :metric => m,
- :state => s,
- :host => state[:host],
- :service => state[:service],
- :description => "at #{Time.now}"
- }
- end
-
- def tick
-# pp @states
- hosts.product(services).each do |id|
- client << (states[id] = evolve(states[id]))
+ def tick
+ # pp @states
+ hosts.product(services).each do |id|
+ client << (states[id] = evolve(states[id]))
+ end
end
- end
- def run
- start
- loop do
- sleep 0.05
- tick
+ def run
+ start
+ loop do
+ sleep 0.05
+ tick
+ end
end
- end
- def start
- hosts.product(services).each do |host, service|
- states[[host, service]] = {
- :metric => 0.5,
- :state => 'ok',
- :description => "Starting up",
- :host => host,
- :service => service
- }
+ def start
+ hosts.product(services).each do |host, service|
+ states[[host, service]] = {
+ metric: 0.5,
+ state: 'ok',
+ description: 'Starting up',
+ host: host,
+ service: service,
+ }
+ end
end
end
end
Riemann::Bench.new.run