Class: Derrick::Inspector

Inherits:
Object
  • Object
show all
Defined in:
lib/derrick/inspector.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(redis, context) ⇒ Inspector

Returns a new instance of Inspector.



9
10
11
12
13
# File 'lib/derrick/inspector.rb', line 9

def initialize(redis, context)
  @redis = redis
  @context = context
  @progress = Progress.new(@redis.dbsize)
end

Instance Attribute Details

#progressObject (readonly)

Returns the value of attribute progress.



7
8
9
# File 'lib/derrick/inspector.rb', line 7

def progress
  @progress
end

#redisObject (readonly)

Returns the value of attribute redis.



7
8
9
# File 'lib/derrick/inspector.rb', line 7

def redis
  @redis
end

Instance Method Details

#reportObject



15
16
17
18
19
20
21
22
23
24
25
# 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