class Airbrake::Rails::ActiveRecordSubscriber
@since v8.1.0
ActiveRecordSubscriber sends SQL information, including performance data.
def call(*args)
def call(*args) return unless Airbrake::Config.instance.query_stats routes = Airbrake::Rack::RequestStore[:routes] return if !routes || routes.none? event = Airbrake::Rails::Event.new(*args) frame = last_caller routes.each do |route, params| Airbrake.notify_query( route: route, method: params[:method], query: event.sql, func: frame[:function], file: frame[:file], line: frame[:line], timing: event.duration, time: event.time, ) end end
def last_caller
def last_caller exception = StandardError.new exception.set_backtrace( Airbrake::Rails::BacktraceCleaner.clean(Kernel.caller), ) Airbrake::Backtrace.parse(exception).first || {} end