def self.install!(options)
analytics_logger = options["analytics_logger"]
return false if !analytics_logger || !options["analytics"]
GC.enable_stats if GC.respond_to?(:enable_stats)
subscriber = self.new
AnalyticsLogging.attach_to(:action_controller, subscriber)
AnalyticsLogging.attach_to(:active_record, subscriber)
if defined?(ActiveSupport::Cache::Store)
ActiveSupport::Cache::Store.instrument = true
AnalyticsLogging.attach_to(:active_support, subscriber)
end
if defined?(ActionDispatch::ShowExceptions)
Rails.application.middleware.insert_after(
ActionDispatch::ShowExceptions,
ExceptionLogger, analytics_logger)
end
if defined?(ActionController::Base)
ActionController::Base.class_eval do
include ACExtension
end
end
if defined?(ActiveSupport::Benchmarkable)
ActiveSupport::Benchmarkable.class_eval do
include ASBenchmarkableExtension
alias_method_chain :benchmark, :passenger
end
end
return true
end