##// END OF EJS Templates
Added debug suffix to the site name when DEBUG is set to true. Optimized post...
Added debug suffix to the site name when DEBUG is set to true. Optimized post template tag if additional parameters are provided

File last commit:

r333:c4e2cbcd default
r583:cf14ad32 default
Show More
profiler.py
23 lines | 856 B | text/x-python | PythonLexer
import sys
from cStringIO import StringIO
from django.conf import settings
import line_profiler
class ProfilerMiddleware(object):
def process_view(self, request, callback, callback_args, callback_kwargs):
if settings.DEBUG and 'prof' in request.GET:
self.profiler = line_profiler.LineProfiler()
self.profiler.add_function(callback)
self.profiler.enable()
args = (request,) + callback_args
return callback(*args, **callback_kwargs)
def process_response(self, request, response):
if settings.DEBUG and 'prof' in request.GET:
out = StringIO()
old_stdout, sys.stdout = sys.stdout, out
self.profiler.print_stats()
sys.stdout = old_stdout
response.content = '<pre>%s</pre>' % out.getvalue()
return response