module Datadog::Contrib::Qless::QlessJob
Uses Qless
job hooks to create traces
Public Instance Methods
after_fork()
click to toggle source
# File lib/ddtrace/contrib/qless/qless_job.rb, line 45 def after_fork configuration = Datadog.configuration[:qless] return if configuration.nil? # Add a pin, marking the job as forked. # Used to trigger shutdown in forks for performance reasons. # Cleanup happens in the TracerCleaner class Datadog::Pin.new( configuration[:service_name], config: { forked: true } ).onto(::Qless) end
around_perform(job)
click to toggle source
Calls superclass method
# File lib/ddtrace/contrib/qless/qless_job.rb, line 11 def around_perform(job) return super unless datadog_configuration && tracer tracer.trace(Ext::SPAN_JOB, span_options) do |span| span.resource = job.klass_name span.span_type = Datadog::Ext::AppTypes::WORKER span.set_tag(Ext::TAG_JOB_ID, job.jid) span.set_tag(Ext::TAG_JOB_QUEUE, job.queue_name) tag_job_tags = datadog_configuration[:tag_job_tags] span.set_tag(Ext::TAG_JOB_TAGS, job.tags) if tag_job_tags tag_job_data = datadog_configuration[:tag_job_data] if tag_job_data && !job.data.empty? job_data = job.data.with_indifferent_access formatted_data = job_data.except(:tags).map do |key, value| "#{key}:#{value}".underscore end span.set_tag(Ext::TAG_JOB_DATA, formatted_data) end # Set analytics sample rate if Contrib::Analytics.enabled?(datadog_configuration[:analytics_enabled]) Contrib::Analytics.set_sample_rate(span, datadog_configuration[:analytics_sample_rate]) end # Measure service stats Contrib::Analytics.set_measured(span) super end end
Private Instance Methods
datadog_configuration()
click to toggle source
# File lib/ddtrace/contrib/qless/qless_job.rb, line 68 def datadog_configuration Datadog.configuration[:qless] end
span_options()
click to toggle source
# File lib/ddtrace/contrib/qless/qless_job.rb, line 60 def span_options { service: datadog_configuration[:service_name] } end
tracer()
click to toggle source
# File lib/ddtrace/contrib/qless/qless_job.rb, line 64 def tracer datadog_configuration.tracer end