summaryrefslogtreecommitdiffstats
path: root/scripts/oe-build-perf-report
diff options
context:
space:
mode:
authorMarkus Lehtonen <markus.lehtonen@linux.intel.com>2017-09-15 16:04:40 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-09-18 11:07:30 +0100
commit6c222a5c11ee1abe2b5b81e97d4dc6ac7346410b (patch)
tree7ae89867ed8fdc3e7c9016e4ac97a74842825d6a /scripts/oe-build-perf-report
parenta80f5e761cf1c0ac1b5d457ec5284f601c60f459 (diff)
downloadpoky-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-xscripts/oe-build-perf-report17
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)
34from build_perf import html 34from build_perf import html
35from buildstats import BuildStats, diff_buildstats 35from buildstats import BuildStats, diff_buildstats, BSVerDiff
36 36
37scriptpath.add_oe_lib_path() 37scriptpath.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, "{} &rarr; {}".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, "{} &rarr; {}".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, "{} &rarr; {}".format(r.left.evr, r.right.evr)) for n, r in ver_diff.rchanged.items()]
370
356 371
357def print_html_report(data, id_comp, buildstats): 372def print_html_report(data, id_comp, buildstats):
358 """Print report in html format""" 373 """Print report in html format"""