Chromium Code Reviews| 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() |
|
nednguyen
2014/07/29 23:53:52
Why is the output_stream public?
chrishenry
2014/07/30 00:37:20
Acknowledged.
|
| - @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() |