Mercurial > hg
view contrib/memory.py @ 29808:8d226db31f20
computeoutgoing: move the function from 'changegroup' to 'exchange'
Now that all users are in exchange, we can safely move the code in the
'exchange' module. This function is really about processing the argument of a
'getbundle' call, so it even makes senses to do so.
author | Pierre-Yves David <pierre-yves.david@ens-lyon.org> |
---|---|
date | Tue, 09 Aug 2016 17:06:35 +0200 |
parents | ade330deb39a |
children | ff896733c66a |
line wrap: on
line source
# memory.py - track memory usage # # Copyright 2009 Matt Mackall <mpm@selenic.com> and others # # This software may be used and distributed according to the terms of the # GNU General Public License version 2 or any later version. '''helper extension to measure memory usage Reads current and peak memory usage from ``/proc/self/status`` and prints it to ``stderr`` on exit. ''' from __future__ import absolute_import import atexit def memusage(ui): """Report memory usage of the current process.""" result = {'peak': 0, 'rss': 0} with open('/proc/self/status', 'r') as status: # This will only work on systems with a /proc file system # (like Linux). for line in status: parts = line.split() key = parts[0][2:-1].lower() if key in result: result[key] = int(parts[1]) ui.write_err(", ".join(["%s: %.1f MiB" % (key, value / 1024.0) for key, value in result.iteritems()]) + "\n") def extsetup(ui): atexit.register(memusage, ui)