diff options
author | Markus Lehtonen <markus.lehtonen@linux.intel.com> | 2016-05-11 13:53:22 +0300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-07-01 16:08:49 +0100 |
commit | 85cdc240e75d481e93238fbf75f8b8431da05f19 (patch) | |
tree | 342d19d337fb3ca5bb69f6fe01d6d189e51ccb6f | |
parent | 8f0b11ba1266f9c650cf34d9b394d72009ee7207 (diff) | |
download | openembedded-core-85cdc240e75d481e93238fbf75f8b8431da05f19.tar.gz openembedded-core-85cdc240e75d481e93238fbf75f8b8431da05f19.tar.bz2 openembedded-core-85cdc240e75d481e93238fbf75f8b8431da05f19.zip |
oeqa.buildperf: add method for measuring file disk usage
Add a new method to BuildPerfTest class for measuring the disk usage of
a file of directory.
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
-rw-r--r-- | meta/lib/oeqa/buildperf/base.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/meta/lib/oeqa/buildperf/base.py b/meta/lib/oeqa/buildperf/base.py index 230a7e7925..e29e9d1579 100644 --- a/meta/lib/oeqa/buildperf/base.py +++ b/meta/lib/oeqa/buildperf/base.py @@ -75,6 +75,7 @@ def time_cmd(cmd, **kwargs): class BuildPerfTest(object): """Base class for build performance tests""" SYSRES = 'sysres' + DISKUSAGE = 'diskusage' name = None description = None @@ -153,6 +154,24 @@ class BuildPerfTest(object): with open(results_log, 'w') as fobj: fobj.write(timedata) + def measure_disk_usage(self, path, name, legend): + """Estimate disk usage of a file or directory""" + # TODO: 'ignore_status' could/should be removed when globalres.log is + # deprecated. The function would just raise an exception, instead + ret = runCmd(['du', '-s', path], ignore_status=True) + if ret.status: + log.error("du failed, disk usage will be reported as 0") + size = 0 + self._failed = True + else: + size = int(ret.output.split()[0]) + log.debug("Size of %s path is %s", path, size) + measurement = {'type': self.DISKUSAGE, + 'name': name, + 'legend': legend} + measurement['values'] = {'size': size} + self.results['measurements'].append(measurement) + @staticmethod def force_rm(path): """Equivalent of 'rm -rf'""" |