Module: Rails::Instrumentation::ActionMailerSubscriber

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

Constant Summary collapse

EVENT_NAMESPACE =
'action_mailer'.freeze
EVENTS =
%w[
  receive
  deliver
  process
].freeze
BASE_TAGS =

rubocop:disable Style/MutableConstant

{ 'component' => 'ActionMailer' }

Class Method Summary collapse

Methods included from Subscriber

included

Class Method Details

.deliver(event) ⇒ Object



35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/rails/instrumentation/subscribers/action_mailer_subscriber.rb', line 35

def deliver(event)
  tags = span_tags(
    'mailer' => event.payload[:mailer],
    'message.id' => event.payload[:message_id],
    'message.subject' => event.payload[:subject],
    'message.to' => event.payload[:to],
    'message.from' => event.payload[:from],
    'message.bcc' => event.payload[:bcc],
    'message.cc' => event.payload[:cc],
    'message.date' => event.payload[:date],
    'message.body' => event.payload[:mail]
  )

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

.process(event) ⇒ Object



51
52
53
54
55
56
57
58
59
# File 'lib/rails/instrumentation/subscribers/action_mailer_subscriber.rb', line 51

def process(event)
  tags = span_tags(
    'mailer' => event.payload[:mailer],
    'action' => event.payload[:action],
    'args' => event.payload[:args]
  )

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

.receive(event) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/rails/instrumentation/subscribers/action_mailer_subscriber.rb', line 19

def receive(event)
  tags = span_tags(
    'mailer' => event.payload[:mailer],
    'message.id' => event.payload[:message_id],
    'message.subject' => event.payload[:subject],
    'message.to' => event.payload[:to],
    'message.from' => event.payload[:from],
    'message.bcc' => event.payload[:bcc],
    'message.cc' => event.payload[:cc],
    'message.date' => event.payload[:date],
    'message.body' => event.payload[:mail]
  )

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