class Sidekiq::Middleware::Server::Logging

Public Instance Methods

call(worker, item, queue) { || ... } click to toggle source

rubocop:disable Style/ExplicitBlockArgument

# File lib/rails_semantic_logger/extensions/sidekiq/sidekiq.rb, line 45
def call(worker, item, queue)
  SemanticLogger.tagged(queue: queue) do
    worker.logger.info(
      "Start #perform",
      metric:        "sidekiq.queue.latency",
      metric_amount: job_latency_ms(item)
    )
    worker.logger.measure_info(
      "Completed #perform",
      on_exception_level: :error,
      log_exception:      :full,
      metric:             "sidekiq.job.perform"
    ) { yield }
  end
end
job_latency_ms(job) click to toggle source
# File lib/rails_semantic_logger/extensions/sidekiq/sidekiq.rb, line 61
def job_latency_ms(job)
  return unless job && job["enqueued_at"]

  (Time.now.to_f - job["enqueued_at"].to_f) * 1000
end