import memcache import re import sys from django.conf.settings import CACHE_BACKEND #gfranxman verbose = False if not CACHE_BACKEND.startswith( 'memcached://' ): print "you are not configured to use memcched as your django cache backend" else: m = re.search( r'//(.+:\d+)', CACHE_BACKEND ) cache_host = m.group(1) h = memcache._Host( cache_host ) h.connect() h.send_cmd( 'stats' ) stats = {} pat = re.compile( r'STAT (\w+) (\w+)' ) l = '' ; while l.find( 'END' ) < 0 : l = h.readline() if verbose: print l m = pat.match( l ) if m : stats[ m.group(1) ] = m.group(2) h.close_socket() if verbose: print stats items = int( stats[ 'curr_items' ] ) bytes = int( stats[ 'bytes' ] ) limit_maxbytes = int( stats[ 'limit_maxbytes' ] ) or bytes current_conns = int( stats[ 'curr_connections' ] ) print "MemCache status for %s" % ( CACHE_BACKEND ) print "%d items using %d of %d" % ( items, bytes, limit_maxbytes ) print "%5.2f%% full" % ( 100.0 * bytes / limit_maxbytes ) print "%d connections being handled" % ( current_conns ) print