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): |
