diff options
author | Markus Lehtonen <markus.lehtonen@linux.intel.com> | 2017-05-15 14:18:45 +0300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-05-23 17:44:00 +0100 |
commit | 496a9dc179fe9dc370c940f4a2f7bcab869a804f (patch) | |
tree | ab877a0dae0d65360ddcc25b18e810b5bed16f33 | |
parent | e06266798d975bd6bebdb6bfdbd3d21be1c44ffd (diff) | |
download | openembedded-core-496a9dc179fe9dc370c940f4a2f7bcab869a804f.tar.gz openembedded-core-496a9dc179fe9dc370c940f4a2f7bcab869a804f.tar.bz2 openembedded-core-496a9dc179fe9dc370c940f4a2f7bcab869a804f.zip |
scripts/buildstats-diff: support optimized rusage values
Buildstats from oe-build-perf-test results have been optimized to not
have child rusage values at all. There, rusage is the sum of parent and
child rusage values. This patch makes buildstats-diff compatible with
this format.
[YOCTO #11355]
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
-rwxr-xr-x | scripts/buildstats-diff | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/scripts/buildstats-diff b/scripts/buildstats-diff index adeba44988..4276464714 100755 --- a/scripts/buildstats-diff +++ b/scripts/buildstats-diff @@ -52,8 +52,12 @@ class BSTask(dict): @property def cputime(self): """Sum of user and system time taken by the task""" - return self['rusage']['ru_stime'] + self['rusage']['ru_utime'] + \ - self['child_rusage']['ru_stime'] + self['child_rusage']['ru_utime'] + rusage = self['rusage']['ru_stime'] + self['rusage']['ru_utime'] + if self['child_rusage']: + # Child rusage may have been optimized out + return rusage + self['child_rusage']['ru_stime'] + self['child_rusage']['ru_utime'] + else: + return rusage @property def walltime(self): @@ -73,12 +77,20 @@ class BSTask(dict): @property def read_ops(self): """Number of read operations on the block layer""" - return self['rusage']['ru_inblock'] + self['child_rusage']['ru_inblock'] + if self['child_rusage']: + # Child rusage may have been optimized out + return self['rusage']['ru_inblock'] + self['child_rusage']['ru_inblock'] + else: + return self['rusage']['ru_inblock'] @property def write_ops(self): """Number of write operations on the block layer""" - return self['rusage']['ru_oublock'] + self['child_rusage']['ru_oublock'] + if self['child_rusage']: + # Child rusage may have been optimized out + return self['rusage']['ru_oublock'] + self['child_rusage']['ru_oublock'] + else: + return self['rusage']['ru_oublock'] def read_buildstats_file(buildstat_file): |