diff options
author | tonyg@chromium.org <tonyg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-12-05 23:32:22 +0000 |
---|---|---|
committer | tonyg@chromium.org <tonyg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-12-05 23:32:22 +0000 |
commit | 91d4963b79db2ce033651a66bd71e002ada041aa (patch) | |
tree | ed3b82b6da88e74ac8e03f4954feb0897de25222 /tools | |
parent | 5b5ca009377b2ce5a99ce5a81aeaca8eaaff2320 (diff) | |
download | chromium_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.py | 8 | ||||
-rw-r--r-- | tools/telemetry/telemetry/page.py | 4 |
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 |