def notice_sql(sql, metric_name, start, finish)
state = NewRelic::Agent::TransactionState.tl_get
duration = finish - start
explainer = Proc.new do |*|
if THREAD_SAFE_CONNECTION_POOL_CLASSES.include?(self.pool.class)
self[ sql ].explain
else
NewRelic::Agent.logger.log_once(:info, :sequel_explain_skipped, "Not running SQL explains because Sequel is not in recognized multi-threaded mode")
nil
end
end
NewRelic::Agent.instance.transaction_sampler.notice_sql(sql, self.opts, duration, state, explainer)
NewRelic::Agent.instance.sql_sampler.notice_sql(sql, metric_name, self.opts, duration, state, explainer)
end