| Index: tools/telemetry/telemetry/results/csv_page_measurement_results.py
|
| diff --git a/tools/telemetry/telemetry/results/csv_page_measurement_results.py b/tools/telemetry/telemetry/results/csv_page_measurement_results.py
|
| index 595b651dc10cb09585e424b94cc1152575330f11..8d396354423704e09df5d9fdbac4db241c5e6c66 100644
|
| --- a/tools/telemetry/telemetry/results/csv_page_measurement_results.py
|
| +++ b/tools/telemetry/telemetry/results/csv_page_measurement_results.py
|
| @@ -1,6 +1,7 @@
|
| # Copyright 2014 The Chromium Authors. All rights reserved.
|
| # Use of this source code is governed by a BSD-style license that can be
|
| # found in the LICENSE file.
|
| +
|
| import csv
|
|
|
| from telemetry.results import page_measurement_results
|
| @@ -9,36 +10,13 @@ from telemetry.value import merge_values
|
|
|
| class CsvPageMeasurementResults(
|
| page_measurement_results.PageMeasurementResults):
|
| - def __init__(self, output_stream, output_after_every_page=None):
|
| + def __init__(self, output_stream):
|
| super(CsvPageMeasurementResults, self).__init__(output_stream)
|
| self._results_writer = csv.writer(self._output_stream)
|
| - self._did_output_header = False
|
| - self._header_names_written_to_writer = None
|
| - self._output_after_every_page = output_after_every_page
|
| -
|
| - def DidMeasurePage(self):
|
| - try:
|
| - assert self.page_specific_values_for_current_page != None
|
| -
|
| - values = self.page_specific_values_for_current_page
|
| - if not values or not self._output_after_every_page:
|
| - # Do not output if no results were added on this page or if output flag
|
| - # is not set.
|
| - return
|
| -
|
| - if not self._did_output_header:
|
| - self._OutputHeader(values)
|
| - else:
|
| - self._ValidateOutputNamesForCurrentPage()
|
| - self._OutputValuesForPage(values[0].page, values)
|
| - finally:
|
| - super(CsvPageMeasurementResults, self).DidMeasurePage()
|
| + self._representative_value_names = None
|
|
|
| def PrintSummary(self):
|
| try:
|
| - if self._output_after_every_page:
|
| - return
|
| -
|
| values = merge_values.MergeLikeValuesFromSamePage(
|
| self.all_page_specific_values)
|
| self._OutputHeader(values)
|
| @@ -49,18 +27,6 @@ class CsvPageMeasurementResults(
|
| finally:
|
| super(CsvPageMeasurementResults, self).PrintSummary()
|
|
|
| - def _ValidateOutputNamesForCurrentPage(self):
|
| - assert self._did_output_header
|
| - current_page_value_names = set([
|
| - value.name for value in self.page_specific_values_for_current_page])
|
| - header_names_written_to_writer = set(self._header_names_written_to_writer)
|
| - assert header_names_written_to_writer >= current_page_value_names, \
|
| - """To use CsvPageMeasurementResults, you must add the same
|
| -result names for every page. In this case, the following extra results were
|
| -added:
|
| -%s
|
| -""" % (current_page_value_names - header_names_written_to_writer)
|
| -
|
| def _OutputHeader(self, values):
|
| """Output the header rows.
|
|
|
| @@ -74,19 +40,17 @@ added:
|
| values: A set of values from which to extract the header string,
|
| which is the value name and the units.
|
| """
|
| - assert not self._did_output_header
|
| - representative_value_names = {}
|
| + representative_values = {}
|
| for value in values:
|
| - if value.name not in representative_value_names:
|
| - representative_value_names[value.name] = value
|
| - self._did_output_header = True
|
| - self._header_names_written_to_writer = list(
|
| - representative_value_names.keys())
|
| - self._header_names_written_to_writer.sort()
|
| + if value.name not in representative_values:
|
| + representative_values[value.name] = value
|
| + self._representative_value_names = list(
|
| + representative_values.keys())
|
| + self._representative_value_names.sort()
|
|
|
| row = ['page_name']
|
| - for value_name in self._header_names_written_to_writer:
|
| - units = representative_value_names[value_name].units
|
| + for value_name in self._representative_value_names:
|
| + units = representative_values[value_name].units
|
| row.append('%s (%s)' % (value_name, units))
|
| self._results_writer.writerow(row)
|
| self._output_stream.flush()
|
| @@ -97,7 +61,7 @@ added:
|
| for value in page_values:
|
| values_by_value_name[value.name] = value
|
|
|
| - for value_name in self._header_names_written_to_writer:
|
| + for value_name in self._representative_value_names:
|
| value = values_by_value_name.get(value_name, None)
|
| if value and value.GetRepresentativeNumber():
|
| row.append('%s' % value.GetRepresentativeNumber())
|
|
|