Index: tools/telemetry/telemetry/value/scalar.py |
diff --git a/tools/telemetry/telemetry/value/scalar.py b/tools/telemetry/telemetry/value/scalar.py |
index b81cf1c0f891fcd7234a987c749781837ccb5ff3..bd533866eb6f25bb5d1f7a3eeae7efb04ba65d52 100644 |
--- a/tools/telemetry/telemetry/value/scalar.py |
+++ b/tools/telemetry/telemetry/value/scalar.py |
@@ -7,12 +7,13 @@ import numbers |
from telemetry import value as value_module |
from telemetry.value import list_of_scalar_values |
from telemetry.value import none_values |
+from telemetry.value import summarizable |
-class ScalarValue(value_module.Value): |
+class ScalarValue(summarizable.SummarizableValue): |
def __init__(self, page, name, units, value, important=True, |
description=None, tir_label=None, |
- none_value_reason=None): |
+ none_value_reason=None, improvement_direction=None): |
"""A single value (float or integer) result from a test. |
A test that counts the number of DOM elements in a page might produce a |
@@ -20,7 +21,7 @@ class ScalarValue(value_module.Value): |
ScalarValue(page, 'num_dom_elements', 'count', num_elements) |
""" |
super(ScalarValue, self).__init__(page, name, units, important, description, |
- tir_label) |
+ tir_label, improvement_direction) |
assert value is None or isinstance(value, numbers.Number) |
none_values.ValidateNoneValueReason(value, none_value_reason) |
self.value = value |
@@ -32,14 +33,15 @@ class ScalarValue(value_module.Value): |
else: |
page_name = 'None' |
return ('ScalarValue(%s, %s, %s, %s, important=%s, description=%s, ' |
- 'tir_label=%s') % ( |
+ 'tir_label=%s, improvement_direction=%s') % ( |
page_name, |
self.name, |
self.units, |
self.value, |
self.important, |
self.description, |
- self.tir_label) |
+ self.tir_label, |
+ self.improvment_direction) |
def GetBuildbotDataType(self, output_context): |
if self._IsImportantGivenOutputIntent(output_context): |
@@ -74,6 +76,7 @@ class ScalarValue(value_module.Value): |
def FromDict(value_dict, page_dict): |
kwargs = value_module.Value.GetConstructorKwArgs(value_dict, page_dict) |
kwargs['value'] = value_dict['value'] |
+ kwargs['improvement_direction'] = value_dict['improvement_direction'] |
if 'none_value_reason' in value_dict: |
kwargs['none_value_reason'] = value_dict['none_value_reason'] |
@@ -105,4 +108,5 @@ class ScalarValue(value_module.Value): |
return list_of_scalar_values.ListOfScalarValues( |
page, name, v0.units, merged_value, important=v0.important, |
tir_label=tir_label, |
- none_value_reason=none_value_reason) |
+ none_value_reason=none_value_reason, |
+ improvement_direction=v0.improvement_direction) |