Skip to content

Instantly share code, notes, and snippets.

@zenweasel
Created February 27, 2014 19:10
Show Gist options
  • Save zenweasel/9256941 to your computer and use it in GitHub Desktop.
Save zenweasel/9256941 to your computer and use it in GitHub Desktop.
A very rough and simple memory profiling middleware
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#Based on a StackOverflow post by Graham Dumpleton
import os
import psutil
import logging
from logging import StreamHandler
shandler = StreamHandler()
logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)
logger.addHandler(shandler)
class MemoryPerViewMiddleware(object):
def process_request(self, request):
request._mem = psutil.Process(os.getpid()).get_memory_info()
def process_response(self, request, response):
mem = psutil.Process(os.getpid()).get_memory_info()
if hasattr(request, '_mem'):
diff = mem.rss - request._mem.rss
logger.debug('MEMORY USAGE %r: %s' % (int(diff), request.path))
return response
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment