class ElasticAPM::Injectors::SidekiqInjector

def install_processor

rubocop:disable Metrics/MethodLength
def install_processor
  require 'sidekiq/processor'
  Sidekiq::Processor.class_eval do
    alias start_without_apm start
    alias terminate_without_apm terminate
    def start
      result = start_without_apm
      ElasticAPM.start # might already be running from railtie
      return result unless ElasticAPM.running?
      ElasticAPM.agent.config.logger = Sidekiq.logger
      result
    end
    def terminate
      terminate_without_apm
      ElasticAPM.stop
    end
  end
end