##// END OF EJS Templates
hg: raise Abort on invalid path...
hg: raise Abort on invalid path Currently, some os.path functions when opening repositories may raise an uncaught TypeError or ValueError if the path is invalid. Let's catch these exceptions and turn them into an Abort for convenience. Differential Revision: https://phab.mercurial-scm.org/D5772

File last commit:

r31958:de5c9d0e default
r41522:2fe2f1ba default
Show More
memory.py
31 lines | 1023 B | 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.
'''
Pulkit Goyal
contrib: make memory.py use absolute_import
r28510 from __future__ import absolute_import
Martin Geisler
contrib: helper extension to track memory usage
r10017
def memusage(ui):
"""Report memory usage of the current process."""
result = {'peak': 0, 'rss': 0}
Bryan O'Sullivan
with: use context manager for file I/O in memusage
r27795 with open('/proc/self/status', 'r') as status:
Martin Geisler
contrib: helper extension to track memory usage
r10017 # 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])
Augie Fackler
memory: avoid shadowing variables inside a list comprehension
r30386 ui.write_err(", ".join(["%s: %.1f MiB" % (k, v / 1024.0)
for k, v in result.iteritems()]) + "\n")
Martin Geisler
contrib: helper extension to track memory usage
r10017
def extsetup(ui):
Bryan O'Sullivan
atexit: switch to home-grown implementation
r31958 ui.atexit(memusage, ui)