##// END OF EJS Templates
tests: fix test-profile to not depend on HGPROF environment variable...
tests: fix test-profile to not depend on HGPROF environment variable The test-profile test would fail if the user had HGPROF set to another profiler in their environment. This fix makes the test independent of that environment variable. Reverts the previous attempt to fix this, which was not cross platoform.

File last commit:

r10282:08a0f04b default
r18765:cd2c8251 default
Show More
memory.py
36 lines | 1.1 KiB | text/x-python | PythonLexer
Martin Geisler
contrib: helper extension to track memory usage
r10017 # 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
Matt Mackall
Merge with stable
r10264 # GNU General Public License version 2 or any later version.
Martin Geisler
contrib: helper extension to track memory usage
r10017
'''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()
Matt Mackall
many, many trivial check-code fixups
r10282 ui.write_err(", ".join(["%s: %.1f MiB" % (key, value / 1024.0)
Martin Geisler
contrib: helper extension to track memory usage
r10017 for key, value in result.iteritems()]) + "\n")
def extsetup(ui):
atexit.register(memusage, ui)