##// END OF EJS Templates
httppeer: expose API descriptor on httpv2peer...
httppeer: expose API descriptor on httpv2peer The API descriptor in wireprotov2 is much more expressive than space-delimited tokens and it will be difficult to define methods to query it in all of the ways we'll want to query it. So let's just declare defeat and expose the API descriptor on the peer instance. As part of this, we define a new interface for version 2 peers, fulfilling a TODO in the process. Differential Revision: https://phab.mercurial-scm.org/D4974

File last commit:

r31958:de5c9d0e default
r40207:dac438b7 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)