Class: Mnemosyne::Probes::ActiveRecord::Query::Probe
Instance Method Summary
collapse
#install, #setup, subscribe, subscriptions
Methods included from Logging
#logger
Instance Method Details
#call(trace, _name, start, finish, _id, payload) ⇒ Object
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
# 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: (payload)
}
span = ::Mnemosyne::Span.new(
'db.query.active_record',
start:,
finish:,
meta:
)
trace << span
end
|
31
32
33
34
35
36
37
38
39
40
41
42
43
|
# File 'lib/mnemosyne/probes/active_record/query.rb', line 31
def (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
|