8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
# File 'lib/solid_events/subscribers/sql_subscriber.rb', line 8
def call(_name, started, finished, _unique_id, payload)
return if IGNORED.include?(payload[:name].to_s)
sql = payload[:sql].to_s
downcased_sql = sql.downcase
return if ignored_sql_tables_in_statement(downcased_sql).any?
return if SolidEvents.ignore_sql_fragments.any? { |fragment| downcased_sql.include?(fragment.to_s.downcase) }
SolidEvents::Tracer.record_event!(
event_type: "sql",
name: payload[:name].to_s,
payload: payload.slice(:sql, :cached),
duration_ms: ((finished - started) * 1000.0).round(2)
)
end
|