Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(196)

Unified Diff: tools/telemetry/telemetry/results/csv_page_measurement_results.py

Issue 394953002: {Csv,Block}PageMeasurementResults no longer perform streaming output. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase again (!!) Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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())

Powered by Google App Engine
This is Rietveld 408576698