diff options
author | Markus Lehtonen <markus.lehtonen@linux.intel.com> | 2017-09-15 16:04:40 +0300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-09-18 11:07:30 +0100 |
commit | 6c222a5c11ee1abe2b5b81e97d4dc6ac7346410b (patch) | |
tree | 7ae89867ed8fdc3e7c9016e4ac97a74842825d6a /scripts/oe-build-perf-report | |
parent | a80f5e761cf1c0ac1b5d457ec5284f601c60f459 (diff) | |
download | poky-6c222a5c11ee1abe2b5b81e97d4dc6ac7346410b.tar.gz |
scripts/oe-build-perf-report: show recipe version changes in html report
If buildstats are available (for a certain measurement), show recipe
version changes between the two builds that are being compared. The
information shown includes new and dropped recipes as well as changes in
recipe version, revision or epoch.
[YOCTO #11382]
(From OE-Core rev: 46eb839b51bb1466a9feeb09c9c437d6d45576cc)
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/oe-build-perf-report')
-rwxr-xr-x | scripts/oe-build-perf-report | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/scripts/oe-build-perf-report b/scripts/oe-build-perf-report index 0b2f730e57..ac88f0fce5 100755 --- a/scripts/oe-build-perf-report +++ b/scripts/oe-build-perf-report | |||
@@ -32,7 +32,7 @@ from build_perf.report import (metadata_xml_to_json, results_xml_to_json, | |||
32 | aggregate_data, aggregate_metadata, measurement_stats, | 32 | aggregate_data, aggregate_metadata, measurement_stats, |
33 | AggregateTestData) | 33 | AggregateTestData) |
34 | from build_perf import html | 34 | from build_perf import html |
35 | from buildstats import BuildStats, diff_buildstats | 35 | from buildstats import BuildStats, diff_buildstats, BSVerDiff |
36 | 36 | ||
37 | scriptpath.add_oe_lib_path() | 37 | scriptpath.add_oe_lib_path() |
38 | 38 | ||
@@ -341,6 +341,7 @@ class BSSummary(object): | |||
341 | self.top_consumer = None | 341 | self.top_consumer = None |
342 | self.top_decrease = None | 342 | self.top_decrease = None |
343 | self.top_increase = None | 343 | self.top_increase = None |
344 | self.ver_diff = OrderedDict() | ||
344 | 345 | ||
345 | tasks_diff = diff_buildstats(bs1, bs2, 'cputime') | 346 | tasks_diff = diff_buildstats(bs1, bs2, 'cputime') |
346 | 347 | ||
@@ -353,6 +354,20 @@ class BSSummary(object): | |||
353 | self.top_decrease = tasks_diff[0:5] | 354 | self.top_decrease = tasks_diff[0:5] |
354 | self.top_increase = tasks_diff[-5:] | 355 | self.top_increase = tasks_diff[-5:] |
355 | 356 | ||
357 | # Compare recipe versions and prepare data for display | ||
358 | ver_diff = BSVerDiff(bs1, bs2) | ||
359 | if ver_diff: | ||
360 | if ver_diff.new: | ||
361 | self.ver_diff['New recipes'] = [(n, r.evr) for n, r in ver_diff.new.items()] | ||
362 | if ver_diff.dropped: | ||
363 | self.ver_diff['Dropped recipes'] = [(n, r.evr) for n, r in ver_diff.dropped.items()] | ||
364 | if ver_diff.echanged: | ||
365 | self.ver_diff['Epoch changed'] = [(n, "{} → {}".format(r.left.evr, r.right.evr)) for n, r in ver_diff.echanged.items()] | ||
366 | if ver_diff.vchanged: | ||
367 | self.ver_diff['Version changed'] = [(n, "{} → {}".format(r.left.version, r.right.version)) for n, r in ver_diff.vchanged.items()] | ||
368 | if ver_diff.rchanged: | ||
369 | self.ver_diff['Revision changed'] = [(n, "{} → {}".format(r.left.evr, r.right.evr)) for n, r in ver_diff.rchanged.items()] | ||
370 | |||
356 | 371 | ||
357 | def print_html_report(data, id_comp, buildstats): | 372 | def print_html_report(data, id_comp, buildstats): |
358 | """Print report in html format""" | 373 | """Print report in html format""" |