| Index: tools/telemetry/telemetry/results/buildbot_output_formatter_unittest.py
 | 
| diff --git a/tools/telemetry/telemetry/results/buildbot_output_formatter_unittest.py b/tools/telemetry/telemetry/results/buildbot_output_formatter_unittest.py
 | 
| index 835f589c2d5def7f838658ec897b5f70e03f639f..f580d54d0099c0879ad52c2776b6a3dceba65e11 100644
 | 
| --- a/tools/telemetry/telemetry/results/buildbot_output_formatter_unittest.py
 | 
| +++ b/tools/telemetry/telemetry/results/buildbot_output_formatter_unittest.py
 | 
| @@ -11,6 +11,7 @@ from telemetry.results import buildbot_output_formatter
 | 
|  from telemetry.results import page_test_results
 | 
|  from telemetry.value import failure
 | 
|  from telemetry.value import histogram
 | 
| +from telemetry.value import improvement_direction
 | 
|  from telemetry.value import list_of_scalar_values
 | 
|  from telemetry.value import scalar
 | 
|  
 | 
| @@ -33,12 +34,14 @@ class BuildbotOutputFormatterTest(
 | 
|      measurement_results = page_test_results.PageTestResults()
 | 
|      measurement_results.WillRunPage(test_page_set.pages[0])
 | 
|      measurement_results.AddValue(scalar.ScalarValue(
 | 
| -        test_page_set.pages[0], 'a', 'seconds', 3))
 | 
| +        test_page_set.pages[0], 'a', 'seconds', 3,
 | 
| +        improvement_direction=improvement_direction.DOWN))
 | 
|      measurement_results.DidRunPage(test_page_set.pages[0])
 | 
|  
 | 
|      measurement_results.WillRunPage(test_page_set.pages[1])
 | 
|      measurement_results.AddValue(scalar.ScalarValue(
 | 
| -        test_page_set.pages[1], 'a', 'seconds', 7))
 | 
| +        test_page_set.pages[1], 'a', 'seconds', 7,
 | 
| +        improvement_direction=improvement_direction.DOWN))
 | 
|      measurement_results.DidRunPage(test_page_set.pages[1])
 | 
|  
 | 
|      formatter = buildbot_output_formatter.BuildbotOutputFormatter(
 | 
| @@ -61,7 +64,8 @@ class BuildbotOutputFormatterTest(
 | 
|      measurement_results = page_test_results.PageTestResults()
 | 
|      measurement_results.WillRunPage(test_page_set.pages[0])
 | 
|      measurement_results.AddValue(scalar.ScalarValue(
 | 
| -        test_page_set.pages[0], 'a', 'seconds', 3))
 | 
| +        test_page_set.pages[0], 'a', 'seconds', 3,
 | 
| +        improvement_direction=improvement_direction.DOWN))
 | 
|      measurement_results.DidRunPage(test_page_set.pages[0])
 | 
|  
 | 
|      formatter = buildbot_output_formatter.BuildbotOutputFormatter(
 | 
| @@ -81,21 +85,26 @@ class BuildbotOutputFormatterTest(
 | 
|      measurement_results = page_test_results.PageTestResults()
 | 
|      measurement_results.WillRunPage(test_page_set.pages[0])
 | 
|      measurement_results.AddValue(scalar.ScalarValue(
 | 
| -        test_page_set.pages[0], 'a', 'seconds', 3))
 | 
| +        test_page_set.pages[0], 'a', 'seconds', 3,
 | 
| +        improvement_direction=improvement_direction.DOWN))
 | 
|      measurement_results.AddValue(
 | 
| -        scalar.ScalarValue(test_page_set.pages[0], 'b', 'seconds', 10))
 | 
| +        scalar.ScalarValue(test_page_set.pages[0], 'b', 'seconds', 10,
 | 
| +                           improvement_direction=improvement_direction.DOWN))
 | 
|      measurement_results.DidRunPage(test_page_set.pages[0])
 | 
|  
 | 
|      measurement_results.WillRunPage(test_page_set.pages[1])
 | 
|      measurement_results.AddValue(scalar.ScalarValue(
 | 
| -        test_page_set.pages[1], 'a', 'seconds', 3))
 | 
| +        test_page_set.pages[1], 'a', 'seconds', 3,
 | 
| +        improvement_direction=improvement_direction.DOWN))
 | 
|      measurement_results.AddValue(scalar.ScalarValue(
 | 
| -        test_page_set.pages[1], 'b', 'seconds', 10))
 | 
| +        test_page_set.pages[1], 'b', 'seconds', 10,
 | 
| +        improvement_direction=improvement_direction.DOWN))
 | 
|      measurement_results.DidRunPage(test_page_set.pages[1])
 | 
|  
 | 
|      measurement_results.WillRunPage(test_page_set.pages[2])
 | 
|      measurement_results.AddValue(scalar.ScalarValue(
 | 
| -        test_page_set.pages[2], 'a', 'seconds', 7))
 | 
| +        test_page_set.pages[2], 'a', 'seconds', 7,
 | 
| +        improvement_direction=improvement_direction.DOWN))
 | 
|      # Note, page[2] does not report a 'b' metric.
 | 
|      measurement_results.DidRunPage(test_page_set.pages[1])
 | 
|  
 | 
| @@ -124,14 +133,16 @@ class BuildbotOutputFormatterTest(
 | 
|      measurement_results = page_test_results.PageTestResults()
 | 
|      measurement_results.WillRunPage(test_page_set.pages[0])
 | 
|      measurement_results.AddValue(scalar.ScalarValue(
 | 
| -        test_page_set.pages[0], 'a', 'seconds', 3))
 | 
| +        test_page_set.pages[0], 'a', 'seconds', 3,
 | 
| +        improvement_direction=improvement_direction.DOWN))
 | 
|      measurement_results.AddValue(
 | 
|          failure.FailureValue.FromMessage(test_page_set.pages[0], 'message'))
 | 
|      measurement_results.DidRunPage(test_page_set.pages[0])
 | 
|  
 | 
|      measurement_results.WillRunPage(test_page_set.pages[1])
 | 
|      measurement_results.AddValue(scalar.ScalarValue(
 | 
| -        test_page_set.pages[1], 'a', 'seconds', 7))
 | 
| +        test_page_set.pages[1], 'a', 'seconds', 7,
 | 
| +        improvement_direction=improvement_direction.DOWN))
 | 
|      measurement_results.DidRunPage(test_page_set.pages[1])
 | 
|  
 | 
|      formatter = buildbot_output_formatter.BuildbotOutputFormatter(
 | 
| @@ -153,24 +164,28 @@ class BuildbotOutputFormatterTest(
 | 
|      measurement_results = page_test_results.PageTestResults()
 | 
|      measurement_results.WillRunPage(test_page_set.pages[0])
 | 
|      measurement_results.AddValue(scalar.ScalarValue(
 | 
| -        test_page_set.pages[0], 'a', 'seconds', 3))
 | 
| +        test_page_set.pages[0], 'a', 'seconds', 3,
 | 
| +        improvement_direction=improvement_direction.DOWN))
 | 
|      measurement_results.DidRunPage(test_page_set.pages[0])
 | 
|  
 | 
|      measurement_results.WillRunPage(test_page_set.pages[1])
 | 
|      measurement_results.AddValue(scalar.ScalarValue(
 | 
| -        test_page_set.pages[1], 'a', 'seconds', 7))
 | 
| +        test_page_set.pages[1], 'a', 'seconds', 7,
 | 
| +        improvement_direction=improvement_direction.DOWN))
 | 
|      measurement_results.AddValue(
 | 
|          failure.FailureValue.FromMessage(test_page_set.pages[1], 'message'))
 | 
|      measurement_results.DidRunPage(test_page_set.pages[1])
 | 
|  
 | 
|      measurement_results.WillRunPage(test_page_set.pages[0])
 | 
|      measurement_results.AddValue(scalar.ScalarValue(
 | 
| -        test_page_set.pages[0], 'a', 'seconds', 4))
 | 
| +        test_page_set.pages[0], 'a', 'seconds', 4,
 | 
| +        improvement_direction=improvement_direction.DOWN))
 | 
|      measurement_results.DidRunPage(test_page_set.pages[0])
 | 
|  
 | 
|      measurement_results.WillRunPage(test_page_set.pages[1])
 | 
|      measurement_results.AddValue(scalar.ScalarValue(
 | 
| -        test_page_set.pages[1], 'a', 'seconds', 8))
 | 
| +        test_page_set.pages[1], 'a', 'seconds', 8,
 | 
| +        improvement_direction=improvement_direction.DOWN))
 | 
|      measurement_results.DidRunPage(test_page_set.pages[1])
 | 
|  
 | 
|      formatter = buildbot_output_formatter.BuildbotOutputFormatter(
 | 
| @@ -195,22 +210,26 @@ class BuildbotOutputFormatterTest(
 | 
|      measurement_results = page_test_results.PageTestResults()
 | 
|      measurement_results.WillRunPage(test_page_set.pages[0])
 | 
|      measurement_results.AddValue(scalar.ScalarValue(
 | 
| -        test_page_set.pages[0], 'a', 'seconds', 3))
 | 
| +        test_page_set.pages[0], 'a', 'seconds', 3,
 | 
| +        improvement_direction=improvement_direction.DOWN))
 | 
|      measurement_results.DidRunPage(test_page_set.pages[0])
 | 
|  
 | 
|      measurement_results.WillRunPage(test_page_set.pages[1])
 | 
|      measurement_results.AddValue(scalar.ScalarValue(
 | 
| -        test_page_set.pages[1], 'a', 'seconds', 7))
 | 
| +        test_page_set.pages[1], 'a', 'seconds', 7,
 | 
| +        improvement_direction=improvement_direction.DOWN))
 | 
|      measurement_results.DidRunPage(test_page_set.pages[1])
 | 
|  
 | 
|      measurement_results.WillRunPage(test_page_set.pages[0])
 | 
|      measurement_results.AddValue(scalar.ScalarValue(
 | 
| -        test_page_set.pages[0], 'a', 'seconds', 4))
 | 
| +        test_page_set.pages[0], 'a', 'seconds', 4,
 | 
| +        improvement_direction=improvement_direction.DOWN))
 | 
|      measurement_results.DidRunPage(test_page_set.pages[0])
 | 
|  
 | 
|      measurement_results.WillRunPage(test_page_set.pages[1])
 | 
|      measurement_results.AddValue(scalar.ScalarValue(
 | 
| -        test_page_set.pages[1], 'a', 'seconds', 8))
 | 
| +        test_page_set.pages[1], 'a', 'seconds', 8,
 | 
| +        improvement_direction=improvement_direction.DOWN))
 | 
|      measurement_results.DidRunPage(test_page_set.pages[1])
 | 
|  
 | 
|      formatter = buildbot_output_formatter.BuildbotOutputFormatter(
 | 
| @@ -239,22 +258,26 @@ class BuildbotOutputFormatterTest(
 | 
|      measurement_results = page_test_results.PageTestResults()
 | 
|      measurement_results.WillRunPage(test_page_set.pages[0])
 | 
|      measurement_results.AddValue(scalar.ScalarValue(
 | 
| -        test_page_set.pages[0], 'a', 'seconds', 3))
 | 
| +        test_page_set.pages[0], 'a', 'seconds', 3,
 | 
| +        improvement_direction=improvement_direction.DOWN))
 | 
|      measurement_results.DidRunPage(test_page_set.pages[0])
 | 
|  
 | 
|      measurement_results.WillRunPage(test_page_set.pages[0])
 | 
|      measurement_results.AddValue(scalar.ScalarValue(
 | 
| -        test_page_set.pages[0], 'a', 'seconds', 4))
 | 
| +        test_page_set.pages[0], 'a', 'seconds', 4,
 | 
| +        improvement_direction=improvement_direction.DOWN))
 | 
|      measurement_results.DidRunPage(test_page_set.pages[0])
 | 
|  
 | 
|      measurement_results.WillRunPage(test_page_set.pages[1])
 | 
|      measurement_results.AddValue(scalar.ScalarValue(
 | 
| -        test_page_set.pages[1], 'a', 'seconds', 7))
 | 
| +        test_page_set.pages[1], 'a', 'seconds', 7,
 | 
| +        improvement_direction=improvement_direction.DOWN))
 | 
|      measurement_results.DidRunPage(test_page_set.pages[1])
 | 
|  
 | 
|      measurement_results.WillRunPage(test_page_set.pages[1])
 | 
|      measurement_results.AddValue(scalar.ScalarValue(
 | 
| -        test_page_set.pages[1], 'a', 'seconds', 8))
 | 
| +        test_page_set.pages[1], 'a', 'seconds', 8,
 | 
| +        improvement_direction=improvement_direction.DOWN))
 | 
|      measurement_results.DidRunPage(test_page_set.pages[1])
 | 
|  
 | 
|      formatter = buildbot_output_formatter.BuildbotOutputFormatter(
 | 
| @@ -282,20 +305,24 @@ class BuildbotOutputFormatterTest(
 | 
|  
 | 
|      measurement_results = page_test_results.PageTestResults()
 | 
|      measurement_results.AddSummaryValue(
 | 
| -        scalar.ScalarValue(None, 'a', 'seconds', 1))
 | 
| +        scalar.ScalarValue(None, 'a', 'seconds', 1,
 | 
| +                           improvement_direction=improvement_direction.DOWN))
 | 
|  
 | 
|      measurement_results.WillRunPage(test_page_set.pages[0])
 | 
|      measurement_results.AddValue(scalar.ScalarValue(
 | 
| -        test_page_set.pages[0], 'b', 'seconds', 2))
 | 
| +        test_page_set.pages[0], 'b', 'seconds', 2,
 | 
| +        improvement_direction=improvement_direction.DOWN))
 | 
|      measurement_results.DidRunPage(test_page_set.pages[0])
 | 
|  
 | 
|      measurement_results.WillRunPage(test_page_set.pages[1])
 | 
|      measurement_results.AddValue(scalar.ScalarValue(
 | 
| -        test_page_set.pages[1], 'b', 'seconds', 3))
 | 
| +        test_page_set.pages[1], 'b', 'seconds', 3,
 | 
| +        improvement_direction=improvement_direction.DOWN))
 | 
|      measurement_results.DidRunPage(test_page_set.pages[1])
 | 
|  
 | 
|      measurement_results.AddSummaryValue(
 | 
| -        scalar.ScalarValue(None, 'c', 'seconds', 4))
 | 
| +        scalar.ScalarValue(None, 'c', 'seconds', 4,
 | 
| +                           improvement_direction=improvement_direction.DOWN))
 | 
|  
 | 
|      formatter = buildbot_output_formatter.BuildbotOutputFormatter(
 | 
|          self._test_output_stream, trace_tag='_ref')
 | 
| @@ -317,16 +344,19 @@ class BuildbotOutputFormatterTest(
 | 
|      measurement_results = page_test_results.PageTestResults()
 | 
|  
 | 
|      measurement_results.AddSummaryValue(
 | 
| -        scalar.ScalarValue(None, 'a', 'seconds', 1))
 | 
| +        scalar.ScalarValue(None, 'a', 'seconds', 1,
 | 
| +                           improvement_direction=improvement_direction.DOWN))
 | 
|  
 | 
|      measurement_results.WillRunPage(test_page_set.pages[0])
 | 
|      measurement_results.AddValue(scalar.ScalarValue(
 | 
| -        test_page_set.pages[0], 'b', 'seconds', 2))
 | 
| +        test_page_set.pages[0], 'b', 'seconds', 2,
 | 
| +        improvement_direction=improvement_direction.DOWN))
 | 
|      measurement_results.DidRunPage(test_page_set.pages[0])
 | 
|  
 | 
|      measurement_results.WillRunPage(test_page_set.pages[0])
 | 
|      measurement_results.AddValue(scalar.ScalarValue(
 | 
| -        test_page_set.pages[0], 'b', 'seconds', 3))
 | 
| +        test_page_set.pages[0], 'b', 'seconds', 3,
 | 
| +        improvement_direction=improvement_direction.DOWN))
 | 
|      measurement_results.DidRunPage(test_page_set.pages[0])
 | 
|  
 | 
|      formatter = buildbot_output_formatter.BuildbotOutputFormatter(
 | 
| @@ -349,16 +379,19 @@ class BuildbotOutputFormatterTest(
 | 
|      measurement_results = page_test_results.PageTestResults()
 | 
|  
 | 
|      measurement_results.AddSummaryValue(
 | 
| -        scalar.ScalarValue(None, 'a', 'seconds', 1, important=False))
 | 
| +        scalar.ScalarValue(None, 'a', 'seconds', 1, important=False,
 | 
| +                           improvement_direction=improvement_direction.DOWN))
 | 
|  
 | 
|      measurement_results.WillRunPage(test_page_set.pages[0])
 | 
|      measurement_results.AddValue(scalar.ScalarValue(
 | 
| -        test_page_set.pages[0], 'b', 'seconds', 2, important=False))
 | 
| +        test_page_set.pages[0], 'b', 'seconds', 2, important=False,
 | 
| +        improvement_direction=improvement_direction.DOWN))
 | 
|      measurement_results.DidRunPage(test_page_set.pages[0])
 | 
|  
 | 
|      measurement_results.WillRunPage(test_page_set.pages[1])
 | 
|      measurement_results.AddValue(scalar.ScalarValue(
 | 
| -        test_page_set.pages[1], 'b', 'seconds', 3, important=False))
 | 
| +        test_page_set.pages[1], 'b', 'seconds', 3, important=False,
 | 
| +        improvement_direction=improvement_direction.DOWN))
 | 
|      measurement_results.DidRunPage(test_page_set.pages[1])
 | 
|  
 | 
|      formatter = buildbot_output_formatter.BuildbotOutputFormatter(
 | 
| @@ -381,16 +414,20 @@ class BuildbotOutputFormatterTest(
 | 
|      measurement_results = page_test_results.PageTestResults()
 | 
|  
 | 
|      measurement_results.AddSummaryValue(
 | 
| -        list_of_scalar_values.ListOfScalarValues(None, 'a', 'seconds', [1, 1]))
 | 
| +        list_of_scalar_values.ListOfScalarValues(
 | 
| +            None, 'a', 'seconds', [1, 1],
 | 
| +            improvement_direction=improvement_direction.DOWN))
 | 
|  
 | 
|      measurement_results.WillRunPage(test_page_set.pages[0])
 | 
|      measurement_results.AddValue(list_of_scalar_values.ListOfScalarValues(
 | 
| -        test_page_set.pages[0], 'b', 'seconds', [2, 2]))
 | 
| +        test_page_set.pages[0], 'b', 'seconds', [2, 2],
 | 
| +        improvement_direction=improvement_direction.DOWN))
 | 
|      measurement_results.DidRunPage(test_page_set.pages[0])
 | 
|  
 | 
|      measurement_results.WillRunPage(test_page_set.pages[1])
 | 
|      measurement_results.AddValue(list_of_scalar_values.ListOfScalarValues(
 | 
| -        test_page_set.pages[1], 'b', 'seconds', [3, 3]))
 | 
| +        test_page_set.pages[1], 'b', 'seconds', [3, 3],
 | 
| +        improvement_direction=improvement_direction.DOWN))
 | 
|      measurement_results.DidRunPage(test_page_set.pages[1])
 | 
|  
 | 
|      formatter = buildbot_output_formatter.BuildbotOutputFormatter(
 | 
| @@ -417,14 +454,14 @@ class BuildbotOutputFormatterTest(
 | 
|      measurement_results.AddValue(histogram.HistogramValue(
 | 
|          test_page_set.pages[0], 'a', 'units',
 | 
|          raw_value_json='{"buckets": [{"low": 1, "high": 2, "count": 1}]}',
 | 
| -        important=False))
 | 
| +        important=False, improvement_direction=improvement_direction.UP))
 | 
|      measurement_results.DidRunPage(test_page_set.pages[0])
 | 
|  
 | 
|      measurement_results.WillRunPage(test_page_set.pages[1])
 | 
|      measurement_results.AddValue(histogram.HistogramValue(
 | 
|          test_page_set.pages[1], 'a', 'units',
 | 
|          raw_value_json='{"buckets": [{"low": 2, "high": 3, "count": 1}]}',
 | 
| -        important=False))
 | 
| +        important=False, improvement_direction=improvement_direction.DOWN))
 | 
|      measurement_results.DidRunPage(test_page_set.pages[1])
 | 
|  
 | 
|      formatter = buildbot_output_formatter.BuildbotOutputFormatter(
 | 
| 
 |