Class: Honeybadger::ActiveJobSubscriber

Inherits:
RailsSubscriber show all
Defined in:
lib/honeybadger/notification_subscriber.rb

Instance Method Summary collapse

Methods inherited from RailsSubscriber

#record, #record_metrics

Methods inherited from NotificationSubscriber

#finish, #process?, #record, #record_metrics, #start

Methods included from InstrumentationHelper

#decrement_counter, #extract_attributes, #extract_callable, #gauge, #histogram, #increment_counter, #metric_agent, #metric_attributes, #metric_instrumentation, #metric_source, #monotonic_timer, #time

Instance Method Details

#format_payload(_name, payload) ⇒ Object



133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
# File 'lib/honeybadger/notification_subscriber.rb', line 133

def format_payload(_name, payload)
  job = payload[:job]
  jobs = payload[:jobs]
  adapter = payload[:adapter]

  base_payload = payload.except(:job, :jobs, :adapter).merge({
    adapter_class: adapter&.class&.to_s
  })

  if jobs
    base_payload.merge({
      jobs: jobs.compact.map { |j| {job_class: j.class.to_s, job_id: j.job_id, queue_name: j.queue_name} }
    })
  elsif job
    base_payload.merge({
      job_class: job.class.to_s,
      job_id: job.job_id,
      queue_name: job.queue_name
    })
  else
    base_payload
  end
end