Class: DatadogQueueBus::Middleware
- Inherits:
-
QueueBus::Middleware::Abstract
- Object
- QueueBus::Middleware::Abstract
- DatadogQueueBus::Middleware
- Defined in:
- lib/datadog_queue_bus/middleware.rb
Overview
Use this middleware with queue-bus to start recording spans everytime the queue-bus performs work on the server.
Instance Method Summary collapse
Instance Method Details
#call(attrs) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/datadog_queue_bus/middleware.rb', line 7 def call(attrs) class_proxy = attrs['bus_class_proxy'] event_type = attrs['bus_event_type'] sub_key = attrs['bus_rider_sub_key'] resource = class_proxy resource += " event=#{event_type}" if event_type resource += " sub=#{sub_key}" if sub_key Datadog.tracer.trace('queue-bus.worker', service: DatadogQueueBus.service_name, resource: resource) do |span| attrs.keys.grep(/^bus_/).each do |key| span.set_tag("queue-bus.#{key}", attrs[key]) end @app.call end end |