summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authortonyg@chromium.org <tonyg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-05 23:32:22 +0000
committertonyg@chromium.org <tonyg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-05 23:32:22 +0000
commit91d4963b79db2ce033651a66bd71e002ada041aa (patch)
treeed3b82b6da88e74ac8e03f4954feb0897de25222 /tools
parent5b5ca009377b2ce5a99ce5a81aeaca8eaaff2320 (diff)
downloadchromium_src-91d4963b79db2ce033651a66bd71e002ada041aa.zip
chromium_src-91d4963b79db2ce033651a66bd71e002ada041aa.tar.gz
chromium_src-91d4963b79db2ce033651a66bd71e002ada041aa.tar.bz2
[Telemetry] Output perf results for each URL in addition to the average.
This will create a new tab for each metric with "_by_url" appended to it, for example, "first_paint_by_url". The new tab will have a trace for each URL. With the existing perf dashboard UI, this tab will have so many traces that it will be basically useless. However in the new UI we need to make sense of this by only showing each trace as its name is clicked. BUG=163520 TEST=tools/perf/run_multipage_benchmarks --browser=release scrolling_benchmark tools/perf/page_sets/top_25.json Review URL: https://codereview.chromium.org/11450013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171356 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'tools')
-rw-r--r--tools/telemetry/telemetry/multi_page_benchmark.py8
-rw-r--r--tools/telemetry/telemetry/page.py4
2 files changed, 12 insertions, 0 deletions
diff --git a/tools/telemetry/telemetry/multi_page_benchmark.py b/tools/telemetry/telemetry/multi_page_benchmark.py
index a7a3d11..d4893c6 100644
--- a/tools/telemetry/telemetry/multi_page_benchmark.py
+++ b/tools/telemetry/telemetry/multi_page_benchmark.py
@@ -33,6 +33,7 @@ class BenchmarkResults(page_test.PageTestResults):
super(BenchmarkResults, self).__init__()
self.results_summary = defaultdict(list)
self.page_results = []
+ self.urls = []
self.field_names = None
self.field_units = {}
self.field_types = {}
@@ -66,6 +67,7 @@ results! You must return the same dict keys every time."""
self.field_names.sort()
self.page_results.append(self._page_values)
+ self.urls.append(self._page.display_url)
for name in self.field_names:
units = self.field_units[name]
data_type = self.field_types[name]
@@ -83,6 +85,12 @@ results! You must return the same dict keys every time."""
trace += (trace_tag or '')
else:
trace = measurement + (trace_tag or '')
+ if len(self.urls) > 1:
+ print
+ assert len(self.urls) == len(values)
+ for i, value in enumerate(values):
+ PrintPerfResult(measurement + '_by_url', self.urls[i], [value], units,
+ 'unimportant')
PrintPerfResult(measurement, trace, values, units, data_type)
diff --git a/tools/telemetry/telemetry/page.py b/tools/telemetry/telemetry/page.py
index c71be22..03b3807 100644
--- a/tools/telemetry/telemetry/page.py
+++ b/tools/telemetry/telemetry/page.py
@@ -50,5 +50,9 @@ class Page(object):
# Just replace all special characters in the url with underscore.
return re.sub('[^a-zA-Z0-9]', '_', self.url)
+ @property
+ def display_url(self):
+ return re.sub('https?://', '', self.url)
+
def __str__(self):
return self.url