Sha256: 01eab37da68a04ecb9314f659753cf603e74bf62969ac4e46ed1899d09b97f2d

Contents?: true

Size: 725 Bytes

Versions: 1

Compression:

Stored size: 725 Bytes

Contents

# frozen_string_literal: true

module SpartanAPM
  module Middleware
    module Sidekiq
      # Middleware that should be added of the end of the middleware chain.
      class EndMiddleware
        def call(worker, msg, queue, &block)
          start_time = Time.now.to_f
          SpartanAPM.capture(:app) do
            begin
              yield
            ensure
              # Capture how much time was spent in middleware.
              middleware_start_time = msg["spartan_apm.middleware_start_time"]
              if middleware_start_time
                SpartanAPM.capture_time(:middleware, start_time - middleware_start_time)
              end
            end
          end
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
spartan_apm-0.0.0.rc1 lib/spartan_apm/middleware/sidekiq/end_middleware.rb