Class: Eventboss::Sentry::Context

Inherits:
Object
  • Object
show all
Defined in:
lib/eventboss/sentry/context.rb

Constant Summary collapse

QUEUES_WITHOUT_ENV =

since sentry has env selector, we can remove it from queue names

Hash.new do |hash, key|
  hash[key] = key
                .gsub(/-#{Eventboss.env}-deadletter$/, '-ENV-deadletter')
                .gsub(/-#{Eventboss.env}$/, '-ENV')
end

Class Method Summary collapse

Class Method Details

.build_sns_message_attributesObject

Constructs SNS message attributes for Sentry trace propagation.



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/eventboss/sentry/context.rb', line 16

def self.build_sns_message_attributes
  attributes = ::Sentry.get_trace_propagation_headers
                       .slice('sentry-trace', 'baggage')
                       .transform_values do |header_value|
    { string_value: header_value, data_type: 'String' }
  end

  user = ::Sentry.get_current_scope&.user
  if user && !user.empty?
    attributes['sentry_user'] = {
      string_value: user.to_json,
      data_type: 'String'
    }
  end

  attributes
end

.queue_name_for_sentry(queue_name) ⇒ Object



11
12
13
# File 'lib/eventboss/sentry/context.rb', line 11

def self.queue_name_for_sentry(queue_name)
  QUEUES_WITHOUT_ENV[queue_name]
end