Methods
Constants
| SERVER_TIMING_HEADER | = | "Server-Timing" |
Class Public methods
new(app) Link
Source: show
# File actionpack/lib/action_dispatch/middleware/server_timing.rb, line 52 def initialize(app) @app = app @subscriber = Subscriber.instance @subscriber.ensure_subscribed end
Instance Public methods
call(env) Link
Source: show
# File actionpack/lib/action_dispatch/middleware/server_timing.rb, line 58 def call(env) response = nil events = @subscriber.collect_events do response = @app.call(env) end headers = response[1] header_info = events.group_by(&:name).map do |event_name, events_collection| "%s;dur=%.2f" % [event_name, events_collection.sum(&:duration)] end header_info.prepend(headers[SERVER_TIMING_HEADER]) if headers[SERVER_TIMING_HEADER].present? headers[SERVER_TIMING_HEADER] = header_info.join(", ") response end