class NewRelic::Agent::SlowSql
Attributes
backtrace[R]
duration[R]
metric_name[R]
statement[R]
Public Class Methods
new(statement, metric_name, duration, backtrace = nil, params = nil)
click to toggle 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
base_params()
click to toggle 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
explain()
click to toggle 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
normalize()
click to toggle 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
obfuscate()
click to toggle source
# File lib/new_relic/agent/sql_sampler.rb, line 268 def obfuscate NewRelic::Agent::Database.obfuscate_sql(statement) end
prepare_to_send()
click to toggle source
We can’t serialize the explainer, so clear it before we transmit
# File lib/new_relic/agent/sql_sampler.rb, line 284 def prepare_to_send statement.explainer = nil end
sql()
click to toggle source
# File lib/new_relic/agent/sql_sampler.rb, line 250 def sql statement.sql end