Module: Datadog::Contrib::ActiveModelSerializers::Event::ClassMethods

Defined in:
lib/ddtrace/contrib/active_model_serializers/event.rb

Overview

Class methods for ActiveModelSerializers events. Note, they share the same process method and before_trace method.

Instance Method Summary collapse

Instance Method Details

#configurationObject



27
28
29
# File 'lib/ddtrace/contrib/active_model_serializers/event.rb', line 27

def configuration
  Datadog.configuration[:active_model_serializers]
end

#process(span, event, _id, payload) ⇒ Object



31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/ddtrace/contrib/active_model_serializers/event.rb', line 31

def process(span, event, _id, payload)
  span.service = configuration[:service_name]

  # Set analytics sample rate
  if Contrib::Analytics.enabled?(configuration[:analytics_enabled])
    Contrib::Analytics.set_sample_rate(span, configuration[:analytics_sample_rate])
  end

  # Set the resource name and serializer name
  res = resource(payload[:serializer])
  span.resource = res
  span.set_tag(Ext::TAG_SERIALIZER, res)

  span.span_type = Datadog::Ext::HTTP::TEMPLATE

  # Will be nil in 0.9
  span.set_tag(Ext::TAG_ADAPTER, payload[:adapter].class) unless payload[:adapter].nil?
end

#span_optionsObject



19
20
21
# File 'lib/ddtrace/contrib/active_model_serializers/event.rb', line 19

def span_options
  { service: configuration[:service_name] }
end

#tracerObject



23
24
25
# File 'lib/ddtrace/contrib/active_model_serializers/event.rb', line 23

def tracer
  -> { configuration[:tracer] }
end