Index: examples/trac/trac/web/main.py =================================================================== --- examples/trac/trac/web/main.py (revision 48) +++ examples/trac/trac/web/main.py (working copy) @@ -20,6 +20,7 @@ import os import sys import dircache +import time import urllib from trac.config import ExtensionOption, OrderedExtensionsOption @@ -201,15 +202,19 @@ chrome = Chrome(self.env) for filter_ in reversed(self.filters): resp = filter_.post_process_request(req, *resp) - if len(resp) == 2: - template, content_type = resp - chrome._finalize_hdf(req) - req.display(template, content_type or 'text/html') - else: - template, data, content_type = resp - output = chrome.render_response(req, template, - content_type, data) - req.send(output, content_type or 'text/html') + start = time.time() + try: + if len(resp) == 2: + template, content_type = resp + chrome._finalize_hdf(req) + req.display(template, content_type or 'text/html') + else: + template, data, content_type = resp + output = chrome.render_response(req, template, + content_type, data) + req.send(output, content_type or 'text/html') + finally: + self.log.debug("Page rendered in %s seconds", time.time()-start) else: for filter_ in reversed(self.filters): filter_.post_process_request(req, None, None)