summaryrefslogtreecommitdiff
path: root/obbenchlib/benchmarker.py
diff options
context:
space:
mode:
Diffstat (limited to 'obbenchlib/benchmarker.py')
-rw-r--r--obbenchlib/benchmarker.py13
1 files changed, 12 insertions, 1 deletions
diff --git a/obbenchlib/benchmarker.py b/obbenchlib/benchmarker.py
index 05a811c..971d8aa 100644
--- a/obbenchlib/benchmarker.py
+++ b/obbenchlib/benchmarker.py
@@ -168,7 +168,10 @@ class Benchmarker(object):
result.set_value(obnam_subcommand, 'profile', self.read_profile())
result.set_value(
obnam_subcommand, 'profile-text', self.read_profile_text())
- result.set_value(obnam_subcommand, 'log', self.read_log_file())
+
+ log = self.read_log_file()
+ result.set_value(obnam_subcommand, 'log', log)
+ result.set_value(obnam_subcommand, 'vmrss', self.find_max_vmrss(log))
def run_obnam_backup(self):
self.run_obnam(['backup'])
@@ -195,6 +198,14 @@ class Benchmarker(object):
with open(self._logfile) as f:
return f.read()
+ def find_max_vmrss(self, log_text):
+ vmrss = 0
+ for line in log_text.splitlines():
+ words = line.split()
+ if len(words) == 6 and words[2:4] == ['DEBUG', 'VmRSS:']:
+ vmrss = max(vmrss, int(words[4]))
+ return vmrss * 1024
+
def read_profile_text(self):
f = StringIO.StringIO()
filename = os.path.join(self._srcdir, self.profile_name)