From 871eeb828b2256c9138dae950f295f3645e21085 Mon Sep 17 00:00:00 2001 From: Brook Elgie Date: Tue, 14 Jun 2016 16:14:30 +0100 Subject: [PATCH] Add request timer for Flask requests. Times between before_request and after_request and outputs to log level info. --- ckan/config/middleware/flask_app.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/ckan/config/middleware/flask_app.py b/ckan/config/middleware/flask_app.py index 645be95844b..eaf98a3e0ba 100644 --- a/ckan/config/middleware/flask_app.py +++ b/ckan/config/middleware/flask_app.py @@ -1,6 +1,7 @@ # encoding: utf-8 import os +import time import itertools from flask import Flask @@ -96,11 +97,18 @@ def save_session(self, app, session, response): @app.before_request def ckan_before_request(): + c._request_timer = time.time() identify_user() @app.after_request def ckan_after_request(response): set_cors_headers_for_response(response) + + # log time between before and after view + r_time = time.time() - c._request_timer + url = request.environ['CKAN_CURRENT_URL'].split('?')[0] + log.info('{url} render time {r_time:.3f} seconds'.format( + url=url, r_time=r_time)) return response # Template context processors