aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cros_utils/tabulator.py2
-rw-r--r--crosperf/results_cache.py18
2 files changed, 15 insertions, 5 deletions
diff --git a/cros_utils/tabulator.py b/cros_utils/tabulator.py
index 1a262f17..2c26ccad 100644
--- a/cros_utils/tabulator.py
+++ b/cros_utils/tabulator.py
@@ -259,8 +259,6 @@ class Result(object):
baseline_values: List of baseline values. Can be none if this is the
baseline itself.
"""
- if len(values) == 1 and type(values[0]) == list:
- values = values[0]
all_floats = True
values = _StripNone(values)
if not values:
diff --git a/crosperf/results_cache.py b/crosperf/results_cache.py
index a5690804..21f1ca6d 100644
--- a/crosperf/results_cache.py
+++ b/crosperf/results_cache.py
@@ -113,7 +113,13 @@ class Result(object):
if 'value' in result_dict:
keyvals_dict[key] = result_dict['value']
elif 'values' in result_dict:
- keyvals_dict[key] = result_dict['values']
+ values = result_dict['values'];
+ if ('type' in result_dict and
+ result_dict['type'] == 'list_of_scalar_values' and
+ values and values != 'null'):
+ keyvals_dict[key] = sum(values)/float(len(values))
+ else:
+ keyvals_dict[key] = values
units_dict[key] = result_dict['units']
else:
if os.path.exists(data_filename):
@@ -320,9 +326,15 @@ class Result(object):
if 'value' in value_dict:
result = value_dict['value']
elif 'values' in value_dict:
- if not value_dict['values']:
+ values = value_dict['values']
+ if not values:
continue
- result = value_dict['values']
+ if ('type' in value_dict and
+ value_dict['type'] == 'list_of_scalar_values' and
+ values != 'null'):
+ result = sum(values)/float(len(values))
+ else:
+ result = values
units = value_dict['units']
new_value = [result, units]
keyvals[keyname] = new_value