##// END OF EJS Templates
Optimized one query, removed debug code from settings so that it is run only...
Optimized one query, removed debug code from settings so that it is run only in debug mode

File last commit:

r333:c4e2cbcd default
r472:df52a056 default
Show More
profiler.py
23 lines | 856 B | text/x-python | PythonLexer
neko259
Added missing profiler script. Removed user's last access time, now getting it from the user's last post time. Added more info to the settings (user's registration and last access time).
r197 import sys
from cStringIO import StringIO
from django.conf import settings
neko259
Moved some settings to boards.settings
r333 import line_profiler
neko259
Added missing profiler script. Removed user's last access time, now getting it from the user's last post time. Added more info to the settings (user's registration and last access time).
r197
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