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

.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



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

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



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

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

#purge(event) ⇒ Object



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

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

#search_filter(event) ⇒ Object



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

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