Module: MQBench

Defined in:
lib/mqbench.rb,
lib/mqbench/amqp.rb,
lib/mqbench/kafka.rb,
lib/mqbench/stomp.rb,
lib/mqbench/client.rb,
lib/mqbench/options.rb

Defined Under Namespace

Classes: AMQP, Client, Kafka, Options, STOMP

Class Method Summary collapse

Class Method Details

.run(args) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/mqbench.rb', line 9

def self.run(args)
  obj = case args[:mode]
  when 'amqp'
    MQBench::AMQP.new(args)
  when 'stomp'
    MQBench::STOMP.new(args)
  when 'kafka'
    MQBench::Kafka.new(args)
  else
    puts "[warning] The specified mode '#{args[:mode]}' is invalid"
    nil
  end

  if obj != nil
    time_started = Time.now

    obj.send_msg

    time_enqueued = Time.now

    obj.recv_msg

    time_dequeued = Time.now

    puts "results: #{time_dequeued - time_started} (enqueue:#{time_enqueued - time_started}, dequeue:#{time_dequeued - time_enqueued})"
  end
end