class DBPurger::Metrics
DBPurger::Metrics
keeps track of each part of the purge process
Attributes
delete_stats[R]
filter_stats[R]
finished_at[R]
lookup_stats[R]
purge_stats[R]
started_at[R]
Public Class Methods
new()
click to toggle source
# File lib/db-purger/metrics.rb, line 13 def initialize reset! end
Public Instance Methods
as_json(_opts = {})
click to toggle source
# File lib/db-purger/metrics.rb, line 68 def as_json(_opts = {}) { took: elapsed_time_in_seconds, started_at: @started_at, finished_at: @finished_at, purge_stats: @purge_stats, delete_stats: @delete_stats, lookup_stats: @lookup_stats, filter_stats: @filter_stats } end
elapsed_time_in_seconds()
click to toggle source
# File lib/db-purger/metrics.rb, line 30 def elapsed_time_in_seconds (@finished_at || Time.now) - @started_at end
finished!()
click to toggle source
# File lib/db-purger/metrics.rb, line 26 def finished! @finished_at = Time.now end
reset!()
click to toggle source
# File lib/db-purger/metrics.rb, line 17 def reset! @started_at = Time.now @purge_stats = {} @delete_stats = {} @lookup_stats = {} @filter_stats = {} @finished_at = nil end
update_delete_records_stats(table_name, duration, num_deleted, num_expected_to_delete = nil)
click to toggle source
# File lib/db-purger/metrics.rb, line 42 def update_delete_records_stats(table_name, duration, num_deleted, num_expected_to_delete = nil) stats = (@delete_stats[table_name] ||= Hash.new(0)) stats[:duration] += duration stats[:num_delete_queries] += 1 stats[:num_deleted] += num_deleted stats[:num_expected_to_delete] += num_expected_to_delete if num_expected_to_delete stats end
update_lookup_stats(table_name, duration, records_found)
click to toggle source
# File lib/db-purger/metrics.rb, line 51 def update_lookup_stats(table_name, duration, records_found) stats = (@lookup_stats[table_name] ||= Hash.new(0)) stats[:duration] += duration stats[:num_lookups] += 1 stats[:records_found] += records_found stats end
update_purge_stats(table_name, duration, num_records)
click to toggle source
# File lib/db-purger/metrics.rb, line 34 def update_purge_stats(table_name, duration, num_records) stats = (@purge_stats[table_name] ||= Hash.new(0)) stats[:duration] += duration stats[:num_purges] += 1 stats[:num_records] += num_records stats end
update_search_filter_stats(table_name, duration, records_found, records_selected)
click to toggle source
# File lib/db-purger/metrics.rb, line 59 def update_search_filter_stats(table_name, duration, records_found, records_selected) stats = (@filter_stats[table_name] ||= Hash.new(0)) stats[:duration] += duration stats[:num_lookups] += 1 stats[:records_found] += records_found stats[:records_selected] += records_selected stats end