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

Unified Diff: tools/chrome_remote_control/chrome_remote_control/multi_page_benchmark.py

Issue 11340037: Chrome remote control multi-page tests: Enable printing out histograms. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Code review (bulach) Created 8 years, 2 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 | « build/android/pylib/perf_tests_helper.py ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/chrome_remote_control/chrome_remote_control/multi_page_benchmark.py
diff --git a/tools/chrome_remote_control/chrome_remote_control/multi_page_benchmark.py b/tools/chrome_remote_control/chrome_remote_control/multi_page_benchmark.py
index 052fdb7a88162fb0d1b9890d0c566444a75b65e9..59c1728f2ece39a3819c457d191dcc5c65d2fd92 100644
--- a/tools/chrome_remote_control/chrome_remote_control/multi_page_benchmark.py
+++ b/tools/chrome_remote_control/chrome_remote_control/multi_page_benchmark.py
@@ -13,6 +13,8 @@ sys.path.append(
os.path.abspath(
os.path.join(os.path.dirname(__file__),
'../../../build/android/pylib')))
+# pylint: disable=F0401
+from perf_tests_helper import GeomMeanAndStdDevFromHistogram
from perf_tests_helper import PrintPerfResult # pylint: disable=F0401
class MeasurementFailure(page_test.Failure):
@@ -28,6 +30,7 @@ class BenchmarkResults(page_test.PageTestResults):
self.page_results = []
self.field_names = None
self.field_units = {}
+ self.field_types = {}
self._page = None
self._page_values = {}
@@ -36,7 +39,7 @@ class BenchmarkResults(page_test.PageTestResults):
self._page = page
self._page_values = {}
- def Add(self, name, units, value):
+ def Add(self, name, units, value, data_type='default'):
assert name not in self._page_values, 'Result names must be unique'
assert name != 'url', 'The name url cannot be used'
if self.field_names:
@@ -44,6 +47,7 @@ class BenchmarkResults(page_test.PageTestResults):
results! You must return the same dict keys every time."""
else:
self.field_units[name] = units
+ self.field_types[name] = data_type
self._page_values[name] = value
def DidMeasurePage(self):
@@ -56,8 +60,15 @@ results! You must return the same dict keys every time."""
self.page_results.append(self._page_values)
for name in self.field_names:
units = self.field_units[name]
+ data_type = self.field_types[name]
value = self._page_values[name]
- self.results_summary[(name, units)].append(value)
+ self.results_summary[(name, units, data_type)].append(value)
+
+ def PrintSummary(self, trace_tag):
+ for measurement_units_type, values in self.results_summary.iteritems():
+ measurement, units, data_type = measurement_units_type
+ trace = measurement + (trace_tag or '')
+ PrintPerfResult(measurement, trace, values, units, data_type)
class CsvBenchmarkResults(BenchmarkResults):
@@ -79,15 +90,13 @@ class CsvBenchmarkResults(BenchmarkResults):
row = [self._page.url]
for name in self.field_names:
value = self._page_values[name]
- row.append(value)
+ if self.field_types[name] == 'histogram':
+ avg, _ = GeomMeanAndStdDevFromHistogram(value)
+ row.append(avg)
+ else:
+ row.append(value)
self._results_writer.writerow(row)
- def PrintSummary(self, trace_tag):
- for measurement_units, values in self.results_summary.iteritems():
- measurement, units = measurement_units
- trace = measurement + (trace_tag or '')
- PrintPerfResult(measurement, trace, values, units)
-
# TODO(nduca): Rename to page_benchmark
class MultiPageBenchmark(page_test.PageTest):
« no previous file with comments | « build/android/pylib/perf_tests_helper.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698