lib/plain_apm/extensions/context/railtie.rb in plain_apm-0.9.2 vs lib/plain_apm/extensions/context/railtie.rb in plain_apm-0.9.3
- old
+ new
@@ -5,30 +5,24 @@
#
# https://github.com/steveklabnik/request_store/
#
# See LICENSE.txt in the current directory for the license.
-begin
- require "rails/railtie"
-rescue LoadError
- nil
-end
-
module PlainApm
module Extensions
module Context
- if defined?(Rails::Railtie)
- class Railtie < Rails::Railtie
- initializer "plain_apm.initialize_context" do |app|
- ActiveSupport.on_load(:active_job) do |klass|
- klass.prepend(PlainApm::Extensions::Context::ActiveJob)
- end
+ class Railtie < Rails::Railtie
+ initializer(:plain_apm_thread_context, after: :plain_apm_agent_start) do |app|
+ next if !PlainApm.agent.enabled?
- if defined?(ActionDispatch::RequestId)
- app.config.middleware.insert_after ActionDispatch::RequestId, PlainApm::Extensions::Context::Rack
- else
- app.config.middleware.insert_after Rack::MethodOverride, PlainApm::Extensions::Context::Rack
- end
+ ActiveSupport.on_load(:active_job, run_once: true) do |klass|
+ klass.prepend(PlainApm::Extensions::Context::ActiveJob)
+ end
+
+ if defined?(ActionDispatch::RequestId)
+ app.config.middleware.insert_after ActionDispatch::RequestId, PlainApm::Extensions::Context::Rack
+ else
+ app.config.middleware.insert_after Rack::MethodOverride, PlainApm::Extensions::Context::Rack
end
end
end
end
end