diff options
| -rw-r--r-- | meta/classes/buildstats.bbclass | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/meta/classes/buildstats.bbclass b/meta/classes/buildstats.bbclass index e58d37be5e..2d63589e4b 100644 --- a/meta/classes/buildstats.bbclass +++ b/meta/classes/buildstats.bbclass | |||
| @@ -25,13 +25,14 @@ def get_process_cputime(pid): | |||
| 25 | 'cstime' : fields[16], | 25 | 'cstime' : fields[16], |
| 26 | } | 26 | } |
| 27 | iostats = {} | 27 | iostats = {} |
| 28 | with open("/proc/%d/io" % pid, "r") as f: | 28 | if os.path.isfile("/proc/%d/io" % pid): |
| 29 | while True: | 29 | with open("/proc/%d/io" % pid, "r") as f: |
| 30 | i = f.readline().strip() | 30 | while True: |
| 31 | if not i: | 31 | i = f.readline().strip() |
| 32 | break | 32 | if not i: |
| 33 | i = i.split(": ") | 33 | break |
| 34 | iostats[i[0]] = i[1] | 34 | i = i.split(": ") |
| 35 | iostats[i[0]] = i[1] | ||
| 35 | resources = resource.getrusage(resource.RUSAGE_SELF) | 36 | resources = resource.getrusage(resource.RUSAGE_SELF) |
| 36 | childres = resource.getrusage(resource.RUSAGE_CHILDREN) | 37 | childres = resource.getrusage(resource.RUSAGE_CHILDREN) |
| 37 | return stats, iostats, resources, childres | 38 | return stats, iostats, resources, childres |
| @@ -111,7 +112,14 @@ python run_buildstats () { | |||
| 111 | 112 | ||
| 112 | if isinstance(e, bb.event.BuildStarted): | 113 | if isinstance(e, bb.event.BuildStarted): |
| 113 | ######################################################################## | 114 | ######################################################################## |
| 114 | # at first pass make the buildstats heriarchy and then | 115 | # If the kernel was not configured to provide I/O statistics, issue |
| 116 | # a one time warning. | ||
| 117 | ######################################################################## | ||
| 118 | if not os.path.isfile("/proc/%d/io" % os.getpid()): | ||
| 119 | bb.warn("The Linux kernel on your build host was not configured to provide process I/O statistics. (CONFIG_TASK_IO_ACCOUNTING is not set)") | ||
| 120 | |||
| 121 | ######################################################################## | ||
| 122 | # at first pass make the buildstats hierarchy and then | ||
| 115 | # set the buildname | 123 | # set the buildname |
| 116 | ######################################################################## | 124 | ######################################################################## |
| 117 | bb.utils.mkdirhier(bsdir) | 125 | bb.utils.mkdirhier(bsdir) |
