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

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

Issue 381303002: Make CsvPageMeasurementResults not depend on (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address review comment + update doc. 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
« no previous file with comments | « no previous file | tools/telemetry/telemetry/results/page_measurement_results.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 0f9872ff8bd514d473c0bee5aebaf22c89c44ae0..595b651dc10cb09585e424b94cc1152575330f11 100644
--- a/tools/telemetry/telemetry/results/csv_page_measurement_results.py
+++ b/tools/telemetry/telemetry/results/csv_page_measurement_results.py
@@ -27,7 +27,7 @@ class CsvPageMeasurementResults(
return
if not self._did_output_header:
- self._OutputHeader()
+ self._OutputHeader(values)
else:
self._ValidateOutputNamesForCurrentPage()
self._OutputValuesForPage(values[0].page, values)
@@ -39,9 +39,9 @@ class CsvPageMeasurementResults(
if self._output_after_every_page:
return
- self._OutputHeader()
values = merge_values.MergeLikeValuesFromSamePage(
self.all_page_specific_values)
+ self._OutputHeader(values)
value_groups_by_page = merge_values.GroupStably(
values, lambda value: value.page.url)
for values_for_page in value_groups_by_page:
@@ -61,17 +61,32 @@ added:
%s
""" % (current_page_value_names - header_names_written_to_writer)
- def _OutputHeader(self):
+ def _OutputHeader(self, values):
+ """Output the header rows.
+
+ This will retrieve the header string from the given values. As a
+ results, you would typically pass it all of the recorded values at
+ the end of the entire telemetry run. In cases where each page
+ produces the same set of value names, you may call this method
+ with that set of values.
+
+ Args:
+ 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
- all_value_names = list(
- self.all_value_names_that_have_been_seen)
- all_value_names.sort()
+ representative_value_names = {}
+ 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(all_value_names)
+ self._header_names_written_to_writer = list(
+ representative_value_names.keys())
+ self._header_names_written_to_writer.sort()
row = ['page_name']
- for value_name in all_value_names:
- units = self.GetUnitsForValueName(value_name)
+ for value_name in self._header_names_written_to_writer:
+ units = representative_value_names[value_name].units
row.append('%s (%s)' % (value_name, units))
self._results_writer.writerow(row)
self._output_stream.flush()
« no previous file with comments | « no previous file | tools/telemetry/telemetry/results/page_measurement_results.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698