Module: Datadog::Contrib::Racecar::Event::ClassMethods
- Defined in:
- lib/ddtrace/contrib/racecar/event.rb
Overview
Class methods for Racecar events. Note, they share the same process method and before_trace method.
Instance Method Summary collapse
- #configuration ⇒ Object
- #process(span, event, _id, payload) ⇒ Object
- #span_options ⇒ Object
- #subscription(*args) ⇒ Object
- #tracer ⇒ Object
Instance Method Details
#configuration ⇒ Object
32 33 34 |
# File 'lib/ddtrace/contrib/racecar/event.rb', line 32 def configuration Datadog.configuration[:racecar] end |
#process(span, event, _id, payload) ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/ddtrace/contrib/racecar/event.rb', line 36 def process(span, event, _id, payload) span.service = configuration[:service_name] span.resource = payload[:consumer_class] # Set analytics sample rate if Contrib::Analytics.enabled?(configuration[:analytics_enabled]) Contrib::Analytics.set_sample_rate(span, configuration[:analytics_sample_rate]) end span.set_tag(Ext::TAG_TOPIC, payload[:topic]) span.set_tag(Ext::TAG_CONSUMER, payload[:consumer_class]) span.set_tag(Ext::TAG_PARTITION, payload[:partition]) span.set_tag(Ext::TAG_OFFSET, payload[:offset]) if payload.key?(:offset) span.set_tag(Ext::TAG_FIRST_OFFSET, payload[:first_offset]) if payload.key?(:first_offset) span.set_tag(Ext::TAG_MESSAGE_COUNT, payload[:message_count]) if payload.key?(:message_count) span.set_error(payload[:exception_object]) if payload[:exception_object] end |
#span_options ⇒ Object
24 25 26 |
# File 'lib/ddtrace/contrib/racecar/event.rb', line 24 def { service: configuration[:service_name] } end |
#subscription(*args) ⇒ Object
18 19 20 21 22 |
# File 'lib/ddtrace/contrib/racecar/event.rb', line 18 def subscription(*args) super.tap do |subscription| subscription.before_trace { ensure_clean_context! } end end |
#tracer ⇒ Object
28 29 30 |
# File 'lib/ddtrace/contrib/racecar/event.rb', line 28 def tracer -> { configuration[:tracer] } end |