class Ezmetrics::Generators::InitializerGenerator
Public Instance Methods
config_content()
click to toggle source
# File lib/generators/ezmetrics/initializer_generator.rb, line 12 def config_content <<RUBY ActiveSupport::Notifications.subscribe("sql.active_record") do |*args| event = ActiveSupport::Notifications::Event.new(*args) unless event.payload[:name] == "SCHEMA" || event.payload[:sql] =~ /\ABEGIN|COMMIT|ROLLBACK\z/ Thread.current[:queries] ||= 0 Thread.current[:queries] += 1 end end ActiveSupport::Notifications.subscribe("process_action.action_controller") do |*args| event = ActiveSupport::Notifications::Event.new(*args) Ezmetrics::Storage.new(24.hours).log( duration: event.duration.to_f, views: event.payload[:view_runtime].to_f, db: event.payload[:db_runtime].to_f, status: event.payload[:exception] ? 500 : event.payload[:status].to_i, queries: Thread.current[:queries].to_i, store_each_value: true ) Thread.current[:queries] = 0 end RUBY end
create_initializer_file()
click to toggle source
# File lib/generators/ezmetrics/initializer_generator.rb, line 8 def create_initializer_file create_file "config/initializers/ezmetrics.rb", config_content end