##// END OF EJS Templates
Changed next and previous models format. Added clarification to the detailed...
Changed next and previous models format. Added clarification to the detailed error status message

File last commit:

r721:1814d7a8 default
r791:75a3948b decentral
Show More
profiler.py
26 lines | 904 B | text/x-python | PythonLexer
import sys
from cStringIO import StringIO
from django.conf import settings
import line_profiler
class ProfilerMiddleware():
def __init__(self):
self.profiler = None
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