mirror of
https://git.yoctoproject.org/poky
synced 2026-03-06 15:29:40 +01:00
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. (From OE-Core rev: 85cdc240e75d481e93238fbf75f8b8431da05f19) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
1a0e20546e
commit
45c6a04a37
@@ -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'"""
|
||||
|
||||
Reference in New Issue
Block a user