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
34 35 36 |
# File 'lib/ddtrace/contrib/racecar/event.rb', line 34 def configuration Datadog.configuration[:racecar] end |
#process(span, event, _id, payload) ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/ddtrace/contrib/racecar/event.rb', line 38 def process(span, event, _id, payload) span.service = configuration[:service_name] span.resource = payload[:consumer_class] # Tag as an external peer service span.set_tag(Datadog::Ext::Integration::TAG_PEER_SERVICE, span.service) # Set analytics sample rate if Contrib::Analytics.enabled?(configuration[:analytics_enabled]) Contrib::Analytics.set_sample_rate(span, configuration[:analytics_sample_rate]) end # Measure service stats Contrib::Analytics.set_measured(span) 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
26 27 28 |
# File 'lib/ddtrace/contrib/racecar/event.rb', line 26 def { service: configuration[:service_name] } end |
#subscription(*args) ⇒ Object
20 21 22 23 24 |
# File 'lib/ddtrace/contrib/racecar/event.rb', line 20 def subscription(*args) super.tap do |subscription| subscription.before_trace { ensure_clean_context! } end end |
#tracer ⇒ Object
30 31 32 |
# File 'lib/ddtrace/contrib/racecar/event.rb', line 30 def tracer -> { configuration[:tracer] } end |