Module: Rails::Instrumentation::ActiveJobSubscriber

Includes:
Subscriber
Defined in:
lib/rails/instrumentation/subscribers/active_job_subscriber.rb

Constant Summary collapse

EVENT_NAMESPACE =
'active_job'.freeze
EVENTS =
%w[
  enqueue_at
  enqueue
  perform_start
  perform
].freeze
BASE_TAGS =

rubocop:disable Style/MutableConstant

{ 'component' => 'ActiveJob' }

Class Method Summary collapse

Methods included from Subscriber

included

Class Method Details

.enqueue(event) ⇒ Object



29
30
31
32
33
34
35
36
# File 'lib/rails/instrumentation/subscribers/active_job_subscriber.rb', line 29

def enqueue(event)
  tags = span_tags(
    'adapter' => event.payload[:adapter],
    'job' => event.payload[:job]
  )

  Utils.trace_notification(event: event, tags: tags)
end

.enqueue_at(event) ⇒ Object



20
21
22
23
24
25
26
27
# File 'lib/rails/instrumentation/subscribers/active_job_subscriber.rb', line 20

def enqueue_at(event)
  tags = span_tags(
    'adapter' => event.payload[:adapter],
    'job' => event.payload[:job]
  )

  Utils.trace_notification(event: event, tags: tags)
end

.perform(event) ⇒ Object



47
48
49
50
51
52
53
54
# File 'lib/rails/instrumentation/subscribers/active_job_subscriber.rb', line 47

def perform(event)
  tags = span_tags(
    'adapter' => event.payload[:adapter],
    'job' => event.payload[:job]
  )

  Utils.trace_notification(event: event, tags: tags)
end

.perform_start(event) ⇒ Object



38
39
40
41
42
43
44
45
# File 'lib/rails/instrumentation/subscribers/active_job_subscriber.rb', line 38

def perform_start(event)
  tags = span_tags(
    'adapter' => event.payload[:adapter],
    'job' => event.payload[:job]
  )

  Utils.trace_notification(event: event, tags: tags)
end