Class: Rack::Middleware::QueryTracer
- Inherits:
-
Object
- Object
- Rack::Middleware::QueryTracer
- Defined in:
- lib/rack/middleware/query_tracer.rb,
lib/rack/middleware/query_tracer/version.rb
Defined Under Namespace
Classes: ProxyImpl
Constant Summary collapse
- VERSION =
"0.0.1"
Instance Method Summary collapse
- #call(env) ⇒ Object
-
#initialize(app, logger = ::Arproxy.logger) ⇒ QueryTracer
constructor
A new instance of QueryTracer.
Constructor Details
#initialize(app, logger = ::Arproxy.logger) ⇒ QueryTracer
Returns a new instance of QueryTracer.
7 8 9 10 11 12 13 14 15 |
# File 'lib/rack/middleware/query_tracer.rb', line 7 def initialize(app, logger = ::Arproxy.logger) @app = app @logger = logger ::Arproxy.configure do |config| config.adapter = ActiveRecord::Base.connection.adapter_name.downcase # "mysql2" # A DB Apdapter name which is used in your database.yml config.use ProxyImpl, @logger end end |
Instance Method Details
#call(env) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/rack/middleware/query_tracer.rb', line 17 def call(env) request = ActionDispatch::Request.new(env) @logger.tagged("QueryTracing") do ::Arproxy.enable! begin if request.filtered_path.blank? @app.call(env) else @logger.tagged(request.filtered_path) do @app.call(env) end end ensure ::Arproxy.disable! end end end |