class Derrick::Inspector

Attributes

progress[R]
redis[R]

Public Class Methods

new(redis, context) click to toggle source
# File lib/derrick/inspector.rb, line 9
def initialize(redis, context)
  @redis = redis
  @context = context
  @progress = Progress.new(@redis.dbsize)
end

Public Instance Methods

report() click to toggle source
# File lib/derrick/inspector.rb, line 15
def report
  keys_queue = Queue.new
  stats_queue = Queue.new
  Thread.new { Collector.new(@redis, keys_queue, @progress, @context).run }
  @context.concurrency.times do
    Thread.new { Fetcher.new(@redis, keys_queue, stats_queue, @progress).run }
  end
  aggregator = Aggregator.new(stats_queue, @context)
  aggregator.run
  aggregator.patterns
end