contrib/memory.py
changeset 31958 de5c9d0e02ea
parent 30386 ff896733c66a
child 43076 2372284d9457
equal deleted inserted replaced
31957:84f9eb9758c0 31958:de5c9d0e02ea
    10 Reads current and peak memory usage from ``/proc/self/status`` and
    10 Reads current and peak memory usage from ``/proc/self/status`` and
    11 prints it to ``stderr`` on exit.
    11 prints it to ``stderr`` on exit.
    12 '''
    12 '''
    13 
    13 
    14 from __future__ import absolute_import
    14 from __future__ import absolute_import
    15 import atexit
       
    16 
    15 
    17 def memusage(ui):
    16 def memusage(ui):
    18     """Report memory usage of the current process."""
    17     """Report memory usage of the current process."""
    19     result = {'peak': 0, 'rss': 0}
    18     result = {'peak': 0, 'rss': 0}
    20     with open('/proc/self/status', 'r') as status:
    19     with open('/proc/self/status', 'r') as status:
    27                 result[key] = int(parts[1])
    26                 result[key] = int(parts[1])
    28     ui.write_err(", ".join(["%s: %.1f MiB" % (k, v / 1024.0)
    27     ui.write_err(", ".join(["%s: %.1f MiB" % (k, v / 1024.0)
    29                             for k, v in result.iteritems()]) + "\n")
    28                             for k, v in result.iteritems()]) + "\n")
    30 
    29 
    31 def extsetup(ui):
    30 def extsetup(ui):
    32     atexit.register(memusage, ui)
    31     ui.atexit(memusage, ui)