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 11 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 18 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 33 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 29 def summarize(sql) @summarizer.summarize(sql) end