Sha256: 578c76c5c921d028ce75c87d124d11c8c1241dbadc404e34c017720768bad923
Contents?: true
Size: 844 Bytes
Versions: 13
Compression:
Stored size: 844 Bytes
Contents
require 'ddtrace/ext/app_types' require 'ddtrace/sync_writer' require 'resque' module Datadog module Contrib module Resque # Uses Resque job hooks to create traces module ResqueJob def around_perform(*args) pin = Pin.get_from(::Resque) return yield unless pin && pin.tracer pin.tracer.trace('resque.job', service: pin.service) do |span| span.resource = name span.span_type = pin.app_type yield span.service = pin.service end ensure pin.tracer.shutdown! if pin && pin.tracer end end end end end Resque.after_fork do # get the current tracer pin = Datadog::Pin.get_from(Resque) next unless pin && pin.tracer # clean the state so no CoW happens pin.tracer.provider.context = nil end
Version data entries
13 entries across 13 versions & 1 rubygems