diff --git a/lib/active_record_instantiation_logs.rb b/lib/active_record_instantiation_logs.rb deleted file mode 100644 index 29b5ad574..000000000 --- a/lib/active_record_instantiation_logs.rb +++ /dev/null @@ -1,111 +0,0 @@ -#This file ripped out of Oink at: -# github.com/noahd1/oink -# Thanks! - require 'benchmark' -module Oink - - def self.extended_active_record? - @oink_extended_active_record - end - - def self.extended_active_record! - @oink_extended_active_record = true - end - - module InstanceTypeCounter - def self.included(klass) - ActiveRecord::Base.send(:include, OinkInstanceTypeCounterInstanceMethods) - end - - def before_report_active_record_count(instantiation_data) - end - - def report_hash! - hash = self.report_hash - ActiveRecord::Base.reset_instance_type_count - hash - end - def report_hash - hash = ActiveRecord::Base.instantiated_hash.merge( - :total_ar_instances => ActiveRecord::Base.total_objects_instantiated, - :ms_in_instantiate => ActiveRecord::Base.instantiation_time) - before_report_active_record_count(hash) - hash - end - - def report_instance_type_count - hash = self.hash - hash[:event] = 'instantiation_breakdown' - before_report_active_record_count(hash) - if logger - logger.info(hash) - end - ActiveRecord::Base.reset_instance_type_count - end - end - - module OinkInstanceTypeCounterInstanceMethods - - def self.included(klass) - klass.class_eval do - - @@instantiated = {} - @@total = nil - @@time = 0.0 - - def self.reset_instance_type_count - @@time = 0.0 - @@instantiated = {} - @@total = nil - end - - def self.increment_instance_type_count(time) - @@instantiated[base_class.name] ||= 0 - @@instantiated[base_class.name] += 1 - @@time += time - end - - def self.instantiated_hash - @@instantiated - end - - def self.instantiation_time - @@time - end - - def self.total_objects_instantiated - @@total ||= @@instantiated.values.sum - end - - unless Oink.extended_active_record? - class << self - alias_method :instantiate_before_oink, :instantiate - - def instantiate(*args, &block) - value = nil - time = Benchmark.realtime{ - value = instantiate_before_oink(*args, &block) - }*1000 - increment_instance_type_count(time) - value - end - end - - alias_method :initialize_before_oink, :initialize - - def initialize(*args, &block) - value = nil - time = Benchmark.realtime{ - value = initialize_before_oink(*args, &block) - }*1000 - self.class.increment_instance_type_count(time) - value - end - - Oink.extended_active_record! - end - end - end - end -end -