diff options
author | Markus Lehtonen <markus.lehtonen@linux.intel.com> | 2017-09-15 16:04:38 +0300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-09-18 11:07:30 +0100 |
commit | 81aef784fdbd2e8a543475b1892c3d6a1fe97872 (patch) | |
tree | d787e9402d3fa667eee19a4447f46b440e7eda5c /scripts/lib/build_perf | |
parent | b5fb3dd904cd22212c720f3c79d71952ecbaa9c2 (diff) | |
download | poky-81aef784fdbd2e8a543475b1892c3d6a1fe97872.tar.gz |
scripts/oe-build-perf-report: summary of task resource usage
Utilize buildstats, if available, and show a summary of the resource
usage of bitbake tasks in the html report. The details provided are:
- total number of tasks
- top 5 resource-hungry tasks (cputime)
- top 5 increase in resource usage (cputime)
- top 5 decrease in resource usage (cputime)
[YOCTO #11381]
(From OE-Core rev: ddd9443cb2432af2c15b358bfda708393fa3c417)
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/lib/build_perf')
-rw-r--r-- | scripts/lib/build_perf/html/report.html | 60 |
1 files changed, 58 insertions, 2 deletions
diff --git a/scripts/lib/build_perf/html/report.html b/scripts/lib/build_perf/html/report.html index f983a4a09c..e56186c958 100644 --- a/scripts/lib/build_perf/html/report.html +++ b/scripts/lib/build_perf/html/report.html | |||
@@ -53,9 +53,11 @@ summary th, .meta-table td { | |||
53 | border-collapse: collapse; | 53 | border-collapse: collapse; |
54 | } | 54 | } |
55 | .details th { | 55 | .details th { |
56 | font-weight: normal; | ||
57 | padding-right: 8px; | 56 | padding-right: 8px; |
58 | } | 57 | } |
58 | .details.plain th { | ||
59 | font-weight: normal; | ||
60 | } | ||
59 | .preformatted { | 61 | .preformatted { |
60 | font-family: monospace; | 62 | font-family: monospace; |
61 | white-space: pre-wrap; | 63 | white-space: pre-wrap; |
@@ -168,6 +170,7 @@ h3 { | |||
168 | {{ measurement.absdiff_str }} ({{measurement.reldiff}}) | 170 | {{ measurement.absdiff_str }} ({{measurement.reldiff}}) |
169 | </span></span> | 171 | </span></span> |
170 | </div> | 172 | </div> |
173 | {# Table for trendchart and the statistics #} | ||
171 | <table style="width: 100%"> | 174 | <table style="width: 100%"> |
172 | <tr> | 175 | <tr> |
173 | <td style="width: 75%"> | 176 | <td style="width: 75%"> |
@@ -176,7 +179,7 @@ h3 { | |||
176 | </td> | 179 | </td> |
177 | <td> | 180 | <td> |
178 | {# Measurement statistics #} | 181 | {# Measurement statistics #} |
179 | <table class="details"> | 182 | <table class="details plain"> |
180 | <tr> | 183 | <tr> |
181 | <th>Test runs</th><td>{{ measurement.value.sample_cnt }}</td> | 184 | <th>Test runs</th><td>{{ measurement.value.sample_cnt }}</td> |
182 | </tr><tr> | 185 | </tr><tr> |
@@ -195,6 +198,59 @@ h3 { | |||
195 | </td> | 198 | </td> |
196 | </tr> | 199 | </tr> |
197 | </table> | 200 | </table> |
201 | |||
202 | {# Task and recipe summary from buildstats #} | ||
203 | {% if 'buildstats' in measurement %} | ||
204 | Task resource usage | ||
205 | <table class="details" style="width:100%"> | ||
206 | <tr> | ||
207 | <th>Number of tasks</th> | ||
208 | <th>Top consumers of cputime</th> | ||
209 | </tr> | ||
210 | <tr> | ||
211 | <td style="vertical-align: top">{{ measurement.buildstats.tasks.count }} ({{ measurement.buildstats.tasks.change }})</td> | ||
212 | {# Table of most resource-hungry tasks #} | ||
213 | <td> | ||
214 | <table class="details plain"> | ||
215 | {% for diff in measurement.buildstats.top_consumer|reverse %} | ||
216 | <tr> | ||
217 | <th>{{ diff.pkg }}.{{ diff.task }}</th> | ||
218 | <td>{{ '%0.0f' % diff.value2 }} s</td> | ||
219 | </tr> | ||
220 | {% endfor %} | ||
221 | </table> | ||
222 | </td> | ||
223 | </tr> | ||
224 | <tr> | ||
225 | <th>Biggest increase in cputime</th> | ||
226 | <th>Biggest decrease in cputime</th> | ||
227 | </tr> | ||
228 | <tr> | ||
229 | {# Table biggest increase in resource usage #} | ||
230 | <td> | ||
231 | <table class="details plain"> | ||
232 | {% for diff in measurement.buildstats.top_increase|reverse %} | ||
233 | <tr> | ||
234 | <th>{{ diff.pkg }}.{{ diff.task }}</th> | ||
235 | <td>{{ '%+0.0f' % diff.absdiff }} s</td> | ||
236 | </tr> | ||
237 | {% endfor %} | ||
238 | </table> | ||
239 | </td> | ||
240 | {# Table biggest decrease in resource usage #} | ||
241 | <td> | ||
242 | <table class="details plain"> | ||
243 | {% for diff in measurement.buildstats.top_decrease %} | ||
244 | <tr> | ||
245 | <th>{{ diff.pkg }}.{{ diff.task }}</th> | ||
246 | <td>{{ '%+0.0f' % diff.absdiff }} s</td> | ||
247 | </tr> | ||
248 | {% endfor %} | ||
249 | </table> | ||
250 | </td> | ||
251 | </tr> | ||
252 | </table> | ||
253 | {% endif %} | ||
198 | </div> | 254 | </div> |
199 | {% endfor %} | 255 | {% endfor %} |
200 | {# Unsuccessful test #} | 256 | {# Unsuccessful test #} |