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:45:37 +0100 |
commit | 35c3e57686f6a29d9690c68dd43fc4d35dc1c43b (patch) | |
tree | df28f4cf36dc4d49987c903c17cc8a4a1dcc82b1 /scripts | |
parent | d6c437ff6c7c11947506058ee539691832ea4c45 (diff) | |
download | poky-35c3e57686f6a29d9690c68dd43fc4d35dc1c43b.tar.gz |
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]
(From OE-Core rev: 496a9dc179fe9dc370c940f4a2f7bcab869a804f)
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>
Diffstat (limited to 'scripts')
-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): | |||
52 | @property | 52 | @property |
53 | def cputime(self): | 53 | def cputime(self): |
54 | """Sum of user and system time taken by the task""" | 54 | """Sum of user and system time taken by the task""" |
55 | return self['rusage']['ru_stime'] + self['rusage']['ru_utime'] + \ | 55 | rusage = self['rusage']['ru_stime'] + self['rusage']['ru_utime'] |
56 | self['child_rusage']['ru_stime'] + self['child_rusage']['ru_utime'] | 56 | if self['child_rusage']: |
57 | # Child rusage may have been optimized out | ||
58 | return rusage + self['child_rusage']['ru_stime'] + self['child_rusage']['ru_utime'] | ||
59 | else: | ||
60 | return rusage | ||
57 | 61 | ||
58 | @property | 62 | @property |
59 | def walltime(self): | 63 | def walltime(self): |
@@ -73,12 +77,20 @@ class BSTask(dict): | |||
73 | @property | 77 | @property |
74 | def read_ops(self): | 78 | def read_ops(self): |
75 | """Number of read operations on the block layer""" | 79 | """Number of read operations on the block layer""" |
76 | return self['rusage']['ru_inblock'] + self['child_rusage']['ru_inblock'] | 80 | if self['child_rusage']: |
81 | # Child rusage may have been optimized out | ||
82 | return self['rusage']['ru_inblock'] + self['child_rusage']['ru_inblock'] | ||
83 | else: | ||
84 | return self['rusage']['ru_inblock'] | ||
77 | 85 | ||
78 | @property | 86 | @property |
79 | def write_ops(self): | 87 | def write_ops(self): |
80 | """Number of write operations on the block layer""" | 88 | """Number of write operations on the block layer""" |
81 | return self['rusage']['ru_oublock'] + self['child_rusage']['ru_oublock'] | 89 | if self['child_rusage']: |
90 | # Child rusage may have been optimized out | ||
91 | return self['rusage']['ru_oublock'] + self['child_rusage']['ru_oublock'] | ||
92 | else: | ||
93 | return self['rusage']['ru_oublock'] | ||
82 | 94 | ||
83 | 95 | ||
84 | def read_buildstats_file(buildstat_file): | 96 | def read_buildstats_file(buildstat_file): |