| Index: tools/telemetry/telemetry/results/buildbot_output_formatter.py
|
| diff --git a/tools/telemetry/telemetry/results/buildbot_page_measurement_results.py b/tools/telemetry/telemetry/results/buildbot_output_formatter.py
|
| similarity index 77%
|
| copy from tools/telemetry/telemetry/results/buildbot_page_measurement_results.py
|
| copy to tools/telemetry/telemetry/results/buildbot_output_formatter.py
|
| index 6e9b698da0924e652d5ac5bea9b5f297dbacd7a1..d2ea070c38f5f2dc46668134fec6bec9ff2d3b1f 100644
|
| --- a/tools/telemetry/telemetry/results/buildbot_page_measurement_results.py
|
| +++ b/tools/telemetry/telemetry/results/buildbot_output_formatter.py
|
| @@ -5,43 +5,40 @@
|
| from telemetry import perf_tests_helper
|
| from telemetry import value as value_module
|
| from telemetry.value import summary as summary_module
|
| -from telemetry.results import page_measurement_results
|
| +from telemetry.results import output_formatter
|
|
|
|
|
| -class BuildbotPageMeasurementResults(
|
| - page_measurement_results.PageMeasurementResults):
|
| +class BuildbotOutputFormatter(output_formatter.OutputFormatter):
|
| def __init__(self, output_stream, trace_tag=''):
|
| - super(BuildbotPageMeasurementResults, self).__init__(output_stream)
|
| + super(BuildbotOutputFormatter, self).__init__(output_stream)
|
| self._trace_tag = trace_tag
|
|
|
| def _PrintPerfResult(self, measurement, trace, v, units,
|
| result_type='default'):
|
| output = perf_tests_helper.PrintPerfResult(
|
| measurement, trace, v, units, result_type, print_to_stdout=False)
|
| - self._output_stream.write(output + '\n')
|
| - self._output_stream.flush()
|
| + self.output_stream.write(output + '\n')
|
| + self.output_stream.flush()
|
|
|
| - @property
|
| - def had_failures(self):
|
| - return len(self.failures) > 0
|
| -
|
| - def PrintSummary(self):
|
| + def Format(self, page_test_results):
|
| """Print summary data in a format expected by buildbot for perf dashboards.
|
|
|
| If any failed pages exist, only output individual page results, and do
|
| not output any average data.
|
| """
|
| + had_failures = len(page_test_results.failures) > 0
|
| +
|
| # Print out the list of unique pages.
|
| perf_tests_helper.PrintPages(
|
| - [page.display_name for page in self.pages_that_succeeded])
|
| - summary = summary_module.Summary(self.all_page_specific_values,
|
| - self.had_failures)
|
| + [page.display_name for page in page_test_results.pages_that_succeeded])
|
| + summary = summary_module.Summary(page_test_results.all_page_specific_values,
|
| + had_failures)
|
| for value in summary.interleaved_computed_per_page_values_and_summaries:
|
| if value.page:
|
| self._PrintComputedPerPageValue(value)
|
| else:
|
| - self._PrintComputedSummaryValue(value)
|
| - self._PrintOverallResults()
|
| + self._PrintComputedSummaryValue(value, had_failures)
|
| + self._PrintOverallResults(page_test_results)
|
|
|
| def _PrintComputedPerPageValue(self, value):
|
| # We dont print per-page-values when there is a trace tag.
|
| @@ -61,11 +58,11 @@ class BuildbotPageMeasurementResults(
|
| buildbot_trace_name,
|
| buildbot_value, value.units, buildbot_data_type)
|
|
|
| - def _PrintComputedSummaryValue(self, value):
|
| + def _PrintComputedSummaryValue(self, value, had_failures):
|
| # If there were any page errors, we typically will print nothing.
|
| #
|
| # Note: this branch is structured less-densely to improve legibility.
|
| - if self.had_failures:
|
| + if had_failures:
|
| return
|
|
|
| buildbot_value = value.GetBuildbotValue()
|
| @@ -81,11 +78,12 @@ class BuildbotPageMeasurementResults(
|
| buildbot_trace_name,
|
| buildbot_value, value.units, buildbot_data_type)
|
|
|
| - def _PrintOverallResults(self):
|
| + def _PrintOverallResults(self, page_test_results):
|
| # If there were no failed pages, output the overall results (results not
|
| # associated with a page).
|
| - if not self.had_failures:
|
| - for value in self.all_summary_values:
|
| + had_failures = len(page_test_results.failures) > 0
|
| + if not had_failures:
|
| + for value in page_test_results.all_summary_values:
|
| buildbot_value = value.GetBuildbotValue()
|
| buildbot_data_type = value.GetBuildbotDataType(
|
| output_context=value_module.SUMMARY_RESULT_OUTPUT_CONTEXT)
|
| @@ -99,10 +97,10 @@ class BuildbotPageMeasurementResults(
|
| value.units,
|
| buildbot_data_type)
|
|
|
| -
|
| # Print the number of failed and errored pages.
|
| self._PrintPerfResult('telemetry_page_measurement_results', 'num_failed',
|
| - [len(self.failures)], 'count', 'unimportant')
|
| + [len(page_test_results.failures)], 'count',
|
| + 'unimportant')
|
|
|
| # TODO(chrishenry): Remove this in a separate patch to reduce the risk
|
| # of rolling back due to buildbot breakage.
|
| @@ -110,5 +108,3 @@ class BuildbotPageMeasurementResults(
|
| # removed.
|
| self._PrintPerfResult('telemetry_page_measurement_results', 'num_errored',
|
| [0], 'count', 'unimportant')
|
| -
|
| - super(BuildbotPageMeasurementResults, self).PrintSummary()
|
|
|