class NewRelic::Agent::SlowSql
Attributes
Public Class Methods
Source
# File lib/new_relic/agent/sql_sampler.rb, line 242 def initialize(statement, metric_name, duration, backtrace = nil, params = nil) @statement = statement @metric_name = metric_name @duration = duration @backtrace = backtrace @params = params end
Public Instance Methods
Source
# File lib/new_relic/agent/sql_sampler.rb, line 254 def base_params params = @params || {} if NewRelic::Agent.config[:'datastore_tracer.instance_reporting.enabled'] params[:host] = statement.host if statement.host params[:port_path_or_id] = statement.port_path_or_id if statement.port_path_or_id end if NewRelic::Agent.config[:'datastore_tracer.database_name_reporting.enabled'] && statement.database_name params[:database_name] = statement.database_name end params end
Source
# File lib/new_relic/agent/sql_sampler.rb, line 277 def explain if statement.config && statement.explainer NewRelic::Agent::Database.explain_sql(statement) end end
Source
# File lib/new_relic/agent/sql_sampler.rb, line 272 def normalize NewRelic::Agent::Database::Obfuscator.instance \ .default_sql_obfuscator(statement).gsub(/\?\s*\,\s*/, '').gsub(/\s/, '') end
Source
# File lib/new_relic/agent/sql_sampler.rb, line 268 def obfuscate NewRelic::Agent::Database.obfuscate_sql(statement) end
Source
# File lib/new_relic/agent/sql_sampler.rb, line 284 def prepare_to_send statement.explainer = nil end
We can’t serialize the explainer, so clear it before we transmit