diff options
Diffstat (limited to 'scripts/buildstats-diff')
-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): |