summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkus Lehtonen <markus.lehtonen@linux.intel.com>2017-09-15 15:54:50 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-09-18 11:07:23 +0100
commit25351c7cac167b1a3e8b531e2cdf708192c6fa1f (patch)
tree57646e4145fb3d26c4d6e6901b9e9d196f1cba98
parent2930515acb5cfdcd335a76ae36fd9f7189207aa3 (diff)
downloadopenembedded-core-contrib-25351c7cac167b1a3e8b531e2cdf708192c6fa1f.tar.gz
scripts/oe-build-perf-report: add AggregateTestData class
Making the code a bit more readable. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
-rw-r--r--scripts/lib/build_perf/report.py5
-rwxr-xr-xscripts/oe-build-perf-report16
2 files changed, 13 insertions, 8 deletions
diff --git a/scripts/lib/build_perf/report.py b/scripts/lib/build_perf/report.py
index eb00ccca2d..d99a36797f 100644
--- a/scripts/lib/build_perf/report.py
+++ b/scripts/lib/build_perf/report.py
@@ -11,12 +11,15 @@
# more details.
#
"""Handling of build perf test reports"""
-from collections import OrderedDict, Mapping
+from collections import OrderedDict, Mapping, namedtuple
from datetime import datetime, timezone
from numbers import Number
from statistics import mean, stdev, variance
+AggregateTestData = namedtuple('AggregateTestData', ['metadata', 'results'])
+
+
def isofmt_to_timestamp(string):
"""Convert timestamp string in ISO 8601 format into unix timestamp"""
if '.' in string:
diff --git a/scripts/oe-build-perf-report b/scripts/oe-build-perf-report
index 23081db173..3a76ab621d 100755
--- a/scripts/oe-build-perf-report
+++ b/scripts/oe-build-perf-report
@@ -29,7 +29,8 @@ sys.path.append(os.path.join(scripts_path, 'lib'))
import scriptpath
from build_perf import print_table
from build_perf.report import (metadata_xml_to_json, results_xml_to_json,
- aggregate_data, aggregate_metadata, measurement_stats)
+ aggregate_data, aggregate_metadata, measurement_stats,
+ AggregateTestData)
from build_perf import html
scriptpath.add_oe_lib_path()
@@ -337,13 +338,13 @@ def print_html_report(data, id_comp):
'hostname': {'title': 'Hostname', 'value': 'foobar'},
'commit': {'title': 'Commit', 'value': '1234'}
}
- metadata = metadata_diff(data[id_comp][0], data[-1][0])
+ metadata = metadata_diff(data[id_comp].metadata, data[-1].metadata)
# Generate list of tests
tests = []
- for test in data[-1][1]['tests'].keys():
- test_r = data[-1][1]['tests'][test]
+ for test in data[-1].results['tests'].keys():
+ test_r = data[-1].results['tests'][test]
new_test = {'name': test_r['name'],
'description': test_r['description'],
'status': test_r['status'],
@@ -576,7 +577,8 @@ def main(argv=None):
data = []
for raw_m, raw_d in raw_data:
- data.append((aggregate_metadata(raw_m), aggregate_data(raw_d)))
+ data.append(AggregateTestData(aggregate_metadata(raw_m),
+ aggregate_data(raw_d)))
# Re-map list indexes to the new table starting from index 0
index_r = index_r - index_0
@@ -584,8 +586,8 @@ def main(argv=None):
# Print report
if not args.html:
- print_diff_report(data[index_l][0], data[index_l][1],
- data[index_r][0], data[index_r][1])
+ print_diff_report(data[index_l].metadata, data[index_l].results,
+ data[index_r].metadata, data[index_r].results)
else:
print_html_report(data, index_l)