diff options
Diffstat (limited to 'obbenchlib/benchmarker.py')
-rw-r--r-- | obbenchlib/benchmarker.py | 13 |
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) |