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.lehto...@linux.intel.com> --- scripts/buildstats-diff | 20 ++++++++++++++++---- 1 file 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): -- 2.12.0 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core