]> code.ossystems Code Review - openembedded-core.git/commitdiff
scripts/oe-build-perf-report: add AggregateTestData class
authorMarkus Lehtonen <markus.lehtonen@linux.intel.com>
Fri, 15 Sep 2017 12:54:50 +0000 (15:54 +0300)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 18 Sep 2017 10:07:23 +0000 (11:07 +0100)
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>
scripts/lib/build_perf/report.py
scripts/oe-build-perf-report

index eb00ccca2dda004d25916c75142ae49b9618083c..d99a36797fd358cb7b04d9d72114b33a65cee7a3 100644 (file)
 # 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:
index 23081db1732c3656df75aa356c2f60a99d3301be..3a76ab621d755d39d808e802855d191aea69b848 100755 (executable)
@@ -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)