Sha256: 75afbaea0ade53b6228511b3f848a2279778ab6893255c246455aee046691ed0
Contents?: true
Size: 1.19 KB
Versions: 2
Compression:
Stored size: 1.19 KB
Contents
require 'yaml' require_relative '../../../core' require_relative 'ext' module Datadog module Tracing module Contrib module Sidekiq # Common functionality used by both client-side and server-side tracers. module Tracing protected # If class is wrapping something else, the interesting resource info # is the underlying, wrapped class, and not the wrapper. This is # primarily to support `ActiveJob`. def job_resource(job) if job['wrapped'] job['wrapped'].to_s elsif job['class'] == 'Sidekiq::Extensions::DelayedClass' delay_extension_class(job).to_s else job['class'].to_s end rescue => e Datadog.logger.debug { "Error retrieving Sidekiq job class name (jid:#{job['jid']}): #{e}" } job['class'].to_s end def delay_extension_class(job) clazz, method = YAML.parse(job['args'].first).children.first.children method = method.value[1..-1] # Remove leading `:` from method symbol "#{clazz.value}.#{method}" end end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ddtrace-1.10.1 | lib/datadog/tracing/contrib/sidekiq/tracing.rb |
ddtrace-1.10.0 | lib/datadog/tracing/contrib/sidekiq/tracing.rb |