Class: DBPurger::MetricSubscriber

Inherits:
ActiveSupport::Subscriber
  • Object
show all
Defined in:
lib/db-purger/metric_subscriber.rb

Overview

DBPurger::MetricSubscriber tracks the progress of the Plan#purge process

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.auto_attachObject



18
19
20
# File 'lib/db-purger/metric_subscriber.rb', line 18

def self.auto_attach
  attach_to :db_purger
end

.finished!Object



14
15
16
# File 'lib/db-purger/metric_subscriber.rb', line 14

def self.finished!
  metrics.finished!
end

.metricsObject



6
7
8
# File 'lib/db-purger/metric_subscriber.rb', line 6

def self.metrics
  @metrics ||= Metrics.new
end

.reset!Object



10
11
12
# File 'lib/db-purger/metric_subscriber.rb', line 10

def self.reset!
  metrics.reset!
end

Instance Method Details

#delete_records(event) ⇒ Object



30
31
32
33
34
35
36
37
# File 'lib/db-purger/metric_subscriber.rb', line 30

def delete_records(event)
  self.class.metrics.update_delete_records_stats(
    event.payload[:table_name],
    event.duration,
    event.payload[:records_deleted],
    event.payload[:num_records]
  )
end

#next_batch(event) ⇒ Object



39
40
41
42
43
44
45
# File 'lib/db-purger/metric_subscriber.rb', line 39

def next_batch(event)
  self.class.metrics.update_lookup_stats(
    event.payload[:table_name],
    event.duration,
    event.payload[:num_records]
  )
end

#purge(event) ⇒ Object



22
23
24
25
26
27
28
# File 'lib/db-purger/metric_subscriber.rb', line 22

def purge(event)
  self.class.metrics.update_purge_stats(
    event.payload[:table_name],
    event.duration,
    event.payload[:deleted]
  )
end

#search_filter(event) ⇒ Object



47
48
49
50
51
52
53
54
# File 'lib/db-purger/metric_subscriber.rb', line 47

def search_filter(event)
  self.class.metrics.update_search_filter_stats(
    event.payload[:table_name],
    event.duration,
    event.payload[:num_records],
    event.payload[:num_records_selected]
  )
end