diff options
author | Markus Lehtonen <markus.lehtonen@linux.intel.com> | 2017-09-15 15:54:50 +0300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-09-18 11:07:23 +0100 |
commit | 25351c7cac167b1a3e8b531e2cdf708192c6fa1f (patch) | |
tree | 57646e4145fb3d26c4d6e6901b9e9d196f1cba98 | |
parent | 2930515acb5cfdcd335a76ae36fd9f7189207aa3 (diff) | |
download | openembedded-core-25351c7cac167b1a3e8b531e2cdf708192c6fa1f.tar.gz openembedded-core-25351c7cac167b1a3e8b531e2cdf708192c6fa1f.tar.bz2 openembedded-core-25351c7cac167b1a3e8b531e2cdf708192c6fa1f.zip |
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.py | 5 | ||||
-rwxr-xr-x | scripts/oe-build-perf-report | 16 |
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) |