class InfluxReporter::Normalizers::ActiveRecord::SQL
Public Class Methods
new(*args)
click to toggle source
Calls superclass method
InfluxReporter::Normalizers::Normalizer::new
# File lib/influx_reporter/normalizers/active_record.rb, line 11 def initialize(*args) super(*args) adapter = begin ::ActiveRecord::Base.connection.adapter_name.downcase rescue nil end @kind = "db.#{adapter || 'unknown'}.sql" @sql_parser = SqlSummarizer.new config end
Public Instance Methods
normalize(_transaction, _name, payload)
click to toggle source
# File lib/influx_reporter/normalizers/active_record.rb, line 22 def normalize(_transaction, _name, payload) return :skip if %w[SCHEMA CACHE].include? payload[:name] signature = signature_for(payload[:sql]) || # SELECT FROM "users" payload[:name] || # Users load 'SQL' return :skip if signature == 'SELECT FROM "schema_migrations"' extra = payload[:sql].length < 256 ? { values: { sql: payload[:sql] } } : nil [signature, @kind, extra] end
Private Instance Methods
signature_for(sql)
click to toggle source
# File lib/influx_reporter/normalizers/active_record.rb, line 39 def signature_for(sql) @sql_parser.signature_for(sql) end