Class: JSONAPI::Support::QueryTrackingLogSubscriber

Inherits:
Object
  • Object
show all
Defined in:
lib/json_api/support/query_tracking_log_subscriber.rb

Constant Summary collapse

QUERY_TRACKING_EVENTS =
%w[jpie.slow_query_detected jpie.excessive_queries_detected].freeze

Instance Method Summary collapse

Instance Method Details

#emit(event) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/json_api/support/query_tracking_log_subscriber.rb', line 8

def emit(event)
  ev = event.is_a?(Hash) ? event : event.to_h
  name = ev[:name]
  return unless QUERY_TRACKING_EVENTS.include?(name)

  payload = ev[:payload] || {}
  msg = if name == "jpie.slow_query_detected"
          build_slow_query_message(payload)
        else
          build_excessive_queries_message(payload)
        end
  log_warn(msg, payload[:correlation_id])
end