From b731127ea898243f545979bdaefa3f4dfe707ca7 Mon Sep 17 00:00:00 2001 From: Konstantin Haase Date: Fri, 19 Jul 2013 15:56:31 +0200 Subject: [PATCH] add RackTimer --- config.ru | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/config.ru b/config.ru index 8fb5947a..ad88e886 100644 --- a/config.ru +++ b/config.ru @@ -15,4 +15,20 @@ skip = ['Travis::Memory', 'GH::ResponseWrapper', 'Travis::NewRelic'] target.load_constants! :only => only, :skip => skip, :debug => false end +# https://help.heroku.com/tickets/92756 +class RackTimer + def initialize(app) + @app = app + end + + def call(env) + start_request = Time.now + status, headers, body = @app.call(env) + elapsed = (Time.now - start_request) * 1000 + $stdout.puts("request-id=#{env['HTTP_HEROKU_REQUEST_ID']} measure.rack-request=#{elapsed.round}ms") + [status, headers, body] + end +end + +use RackTimer run Travis::Api::App.new