##// END OF EJS Templates
run-tests: backout d7c23f4a14c7...
run-tests: backout d7c23f4a14c7 We no longer have any data files, so this is no longer needed. Augie Fackler reported on IRC that this "hack" had never worked for him in the first place.

File last commit:

r10017:253d0da2 default
r10030:cbc93d8e default
Show More
memory.py
36 lines | 1.1 KiB | text/x-python | PythonLexer
# 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, incorporated herein by reference.
'''helper extension to measure memory usage
Reads current and peak memory usage from ``/proc/self/status`` and
prints it to ``stderr`` on exit.
'''
import atexit
def memusage(ui):
"""Report memory usage of the current process."""
status = None
result = {'peak': 0, 'rss': 0}
try:
# This will only work on systems with a /proc file system
# (like Linux).
status = open('/proc/self/status', 'r')
for line in status:
parts = line.split()
key = parts[0][2:-1].lower()
if key in result:
result[key] = int(parts[1])
finally:
if status is not None:
status.close()
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)