class ElasticAPM::Normalizers::ActiveRecord::SqlNormalizer
@api private
Public Class Methods
new(*args)
click to toggle source
Calls superclass method
ElasticAPM::Normalizers::Normalizer::new
# File lib/elastic_apm/normalizers/active_record.rb, line 12 def initialize(*args) super @type = format('db.%s.sql', lookup_adapter || 'unknown').freeze @summarizer = SqlSummarizer.new end
Public Instance Methods
normalize(_transaction, _name, payload)
click to toggle source
# File lib/elastic_apm/normalizers/active_record.rb, line 19 def normalize(_transaction, _name, payload) return :skip if %w[SCHEMA CACHE].include?(payload[:name]) name = summarize(payload[:sql]) || payload[:name] context = Span::Context.new(db: { statement: payload[:sql], type: 'sql' }) [name, @type, context] end
Private Instance Methods
lookup_adapter()
click to toggle source
# File lib/elastic_apm/normalizers/active_record.rb, line 34 def lookup_adapter ::ActiveRecord::Base.connection.adapter_name.downcase rescue StandardError nil end
summarize(sql)
click to toggle source
# File lib/elastic_apm/normalizers/active_record.rb, line 30 def summarize(sql) @summarizer.summarize(sql) end