Class: Rack::Timing::Reporter
Instance Method Summary collapse
Methods inherited from Base
Methods included from Notify
Constructor Details
This class inherits a constructor from Rack::Timing::Base
Instance Method Details
#call(env) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/timing/reporter.rb', line 4 def call(env) @metrics = {} status, headers, response = @app.call(env) measure_pre_request_time(env) measure("measure#rack_in", :rack_in_start, :rack_in_end, env) measure("measure#app", :rack_in_end, :rack_out_start, env) measure("measure#rack_out", :rack_out_start, :rack_out_end, env) @metrics = {thread_id: Thread.current.object_id, process_id: Process.pid, request_id: (env["action_dispatch.request_id"] || "")}.merge(@metrics) notify(@metrics) if should_notify? @logger.info "at=info " + @metrics.map { |k, v| "#{k}=#{v}"}.join(" ") [status, headers, response] end |