| Index: tools/telemetry/telemetry/value/list_of_string_values.py
|
| diff --git a/tools/telemetry/telemetry/value/list_of_scalar_values.py b/tools/telemetry/telemetry/value/list_of_string_values.py
|
| similarity index 83%
|
| copy from tools/telemetry/telemetry/value/list_of_scalar_values.py
|
| copy to tools/telemetry/telemetry/value/list_of_string_values.py
|
| index cb70be8c89b50e2f9406ba0b43a0f53725ef897b..b99f70801843cbedcd9e3e57fd4b0a19177871a1 100644
|
| --- a/tools/telemetry/telemetry/value/list_of_scalar_values.py
|
| +++ b/tools/telemetry/telemetry/value/list_of_string_values.py
|
| @@ -2,21 +2,16 @@
|
| # Use of this source code is governed by a BSD-style license that can be
|
| # found in the LICENSE file.
|
|
|
| -import numbers
|
| -
|
| from telemetry import value as value_module
|
|
|
| -def _Mean(values):
|
| - return float(sum(values)) / len(values) if len(values) > 0 else 0.0
|
| -
|
| -class ListOfScalarValues(value_module.Value):
|
| +class ListOfStringValues(value_module.Value):
|
| def __init__(self, page, name, units, values,
|
| important=True, same_page_merge_policy=value_module.CONCATENATE):
|
| - super(ListOfScalarValues, self).__init__(page, name, units, important)
|
| + super(ListOfStringValues, self).__init__(page, name, units, important)
|
| assert len(values) > 0
|
| assert isinstance(values, list)
|
| for v in values:
|
| - assert isinstance(v, numbers.Number)
|
| + assert isinstance(v, basestring)
|
| self.values = values
|
| self.same_page_merge_policy = same_page_merge_policy
|
|
|
| @@ -29,7 +24,7 @@ class ListOfScalarValues(value_module.Value):
|
| merge_policy = 'CONCATENATE'
|
| else:
|
| merge_policy = 'PICK_FIRST'
|
| - return ('ListOfScalarValues(%s, %s, %s, %s, ' +
|
| + return ('ListOfStringValues(%s, %s, %s, %s, ' +
|
| 'important=%s, same_page_merge_policy=%s)') % (
|
| page_name,
|
| self.name, self.units,
|
| @@ -46,13 +41,13 @@ class ListOfScalarValues(value_module.Value):
|
| return self.values
|
|
|
| def GetRepresentativeNumber(self):
|
| - return _Mean(self.values)
|
| + return None
|
|
|
| def GetRepresentativeString(self):
|
| return repr(self.values)
|
|
|
| def IsMergableWith(self, that):
|
| - return (super(ListOfScalarValues, self).IsMergableWith(that) and
|
| + return (super(ListOfStringValues, self).IsMergableWith(that) and
|
| self.same_page_merge_policy == that.same_page_merge_policy)
|
|
|
| @classmethod
|
| @@ -61,7 +56,7 @@ class ListOfScalarValues(value_module.Value):
|
| v0 = values[0]
|
|
|
| if v0.same_page_merge_policy == value_module.PICK_FIRST:
|
| - return ListOfScalarValues(
|
| + return ListOfStringValues(
|
| v0.page, v0.name, v0.units,
|
| values[0].values,
|
| important=v0.important,
|
| @@ -71,7 +66,7 @@ class ListOfScalarValues(value_module.Value):
|
| all_values = []
|
| for v in values:
|
| all_values.extend(v.values)
|
| - return ListOfScalarValues(
|
| + return ListOfStringValues(
|
| v0.page, v0.name, v0.units,
|
| all_values,
|
| important=v0.important,
|
| @@ -89,7 +84,7 @@ class ListOfScalarValues(value_module.Value):
|
| name = v0.name
|
| else:
|
| name = v0.name_suffix
|
| - return ListOfScalarValues(
|
| + return ListOfStringValues(
|
| None, name, v0.units,
|
| all_values,
|
| important=v0.important,
|
|
|