module Labkit::Middleware::Sidekiq::Tracing::SidekiqCommon

SidekiqCommon is a mixin for the sidekiq middleware components

Public Instance Methods

job_class(job) click to toggle source
# File lib/labkit/middleware/sidekiq/tracing/sidekiq_common.rb, line 9
def job_class(job)
  # Active Job wrapping can be found at
  # https://github.com/rails/rails/blob/v6.0.3.1/activejob/lib/active_job/queue_adapters/sidekiq_adapter.rb
  job["wrapped"].presence || job["class"].presence || "undefined"
end
tags_from_job(job, kind) click to toggle source
# File lib/labkit/middleware/sidekiq/tracing/sidekiq_common.rb, line 19
def tags_from_job(job, kind)
  tags = {
    "component" => "sidekiq",
    "span.kind" => kind,
    "sidekiq.wrapped" => wrapped?(job),
    "sidekiq.queue" => job["queue"],
    "sidekiq.jid" => job["jid"],
    "sidekiq.retry" => job["retry"].to_s,
    "sidekiq.args" => job["args"]&.join(", "),
  }
  tags["sidekiq.at"] = job["at"] if job["at"]
  tags
end
wrapped?(job) click to toggle source
# File lib/labkit/middleware/sidekiq/tracing/sidekiq_common.rb, line 15
def wrapped?(job)
  job["wrapped"].present?
end