class Mnemosyne::Probes::ActiveRecord::Query::Probe
Public Instance Methods
call(trace, _name, start, finish, _id, payload)
click to toggle source
# File lib/mnemosyne/probes/active_record/query.rb, line 10 def call(trace, _name, start, finish, _id, payload) return if payload[:name] == 'SCHEMA' || payload[:name] == 'CACHE' start = ::Mnemosyne::Clock.to_tick(start) finish = ::Mnemosyne::Clock.to_tick(finish) meta = { sql: payload[:sql], binds: extract_bind_values(payload) } span = ::Mnemosyne::Span.new 'db.query.active_record', start: start, finish: finish, meta: meta trace << span end
extract_bind_values(payload)
click to toggle source
# File lib/mnemosyne/probes/active_record/query.rb, line 27 def extract_bind_values(payload) return if payload[:binds].empty? payload[:binds].map do |bind| if bind.is_a?(Array) bind[0].type_cast_for_database(bind[1]) else bind.value_for_database end end rescue StandardError [] end