diff options
author | shimazu <shimazu@chromium.org> | 2014-11-03 15:49:33 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-11-03 23:49:59 +0000 |
commit | 63fff39d062375b2049cd44ec95cde09a4cf0e5b (patch) | |
tree | 318f1c24611cef30a84733e50c53967aeba44f57 /tools/perf/page_sets | |
parent | 311d5b8414d195abf8346b48900661503b83be57 (diff) | |
download | chromium_src-63fff39d062375b2049cd44ec95cde09a4cf0e5b.zip chromium_src-63fff39d062375b2049cd44ec95cde09a4cf0e5b.tar.gz chromium_src-63fff39d062375b2049cd44ec95cde09a4cf0e5b.tar.bz2 |
ServiceWorker: Separate micro benchmark from application benchmark
Currently both of two are measured by one metric, but there is no meaning of JavaScript measurements in application test and of Speed Index in micro benchmark. This patch separate the two types of performance tests into different page_sets, and different measurements.
BUG=372759
TEST=./tools/perf/run_benchmark --browser=android-chrome-shell service_worker.service_worker
TEST=./tools/perf/run_benchmark --browser=android-chrome-shell service_worker.service_worker_micro_benchmark
Review URL: https://codereview.chromium.org/688563002
Cr-Commit-Position: refs/heads/master@{#302521}
Diffstat (limited to 'tools/perf/page_sets')
7 files changed, 57 insertions, 30 deletions
diff --git a/tools/perf/page_sets/data/service_worker.json b/tools/perf/page_sets/data/service_worker.json index c12c5b9..0ec66ca 100644 --- a/tools/perf/page_sets/data/service_worker.json +++ b/tools/perf/page_sets/data/service_worker.json @@ -1,10 +1,8 @@ { "description": "Describes the Web Page Replay archives for a page set. Don't edit by hand! Use record_wpr for updating.", "archives": { - "service_worker_034.wpr": [ - "http://localhost:8091/many-registration.html", - "http://localhost:8091/index.html", + "service_worker_037.wpr": [ "https://jakearchibald.github.io/trained-to-thrill/" ] } -} +}
\ No newline at end of file diff --git a/tools/perf/page_sets/data/service_worker_034.wpr.sha1 b/tools/perf/page_sets/data/service_worker_034.wpr.sha1 deleted file mode 100644 index a42b94e..0000000 --- a/tools/perf/page_sets/data/service_worker_034.wpr.sha1 +++ /dev/null @@ -1 +0,0 @@ -eccdcfdb5a632acec971c50e1ee0573e0781569e
\ No newline at end of file diff --git a/tools/perf/page_sets/data/service_worker_037.wpr.sha1 b/tools/perf/page_sets/data/service_worker_037.wpr.sha1 new file mode 100644 index 0000000..f044b0b --- /dev/null +++ b/tools/perf/page_sets/data/service_worker_037.wpr.sha1 @@ -0,0 +1 @@ +19068c5e1c817f3918a16cb96c3d1f765399eb37
\ No newline at end of file diff --git a/tools/perf/page_sets/data/service_worker_micro_benchmark.json b/tools/perf/page_sets/data/service_worker_micro_benchmark.json new file mode 100644 index 0000000..4adf44b --- /dev/null +++ b/tools/perf/page_sets/data/service_worker_micro_benchmark.json @@ -0,0 +1,9 @@ +{ + "description": "Describes the Web Page Replay archives for a page set. Don't edit by hand! Use record_wpr for updating.", + "archives": { + "service_worker_micro_benchmark_000.wpr": [ + "http://localhost:8091/index.html", + "http://localhost:8091/many-registration.html" + ] + } +}
\ No newline at end of file diff --git a/tools/perf/page_sets/data/service_worker_micro_benchmark_000.wpr.sha1 b/tools/perf/page_sets/data/service_worker_micro_benchmark_000.wpr.sha1 new file mode 100644 index 0000000..b1d2756 --- /dev/null +++ b/tools/perf/page_sets/data/service_worker_micro_benchmark_000.wpr.sha1 @@ -0,0 +1 @@ +1ca795d9e04b6bbf00fb7f881b699bdb0b369fc7
\ No newline at end of file diff --git a/tools/perf/page_sets/service_worker.py b/tools/perf/page_sets/service_worker.py index 23e2514..aabb62a 100644 --- a/tools/perf/page_sets/service_worker.py +++ b/tools/perf/page_sets/service_worker.py @@ -9,39 +9,16 @@ from telemetry.page import page_set as page_set archive_data_file_path = 'data/service_worker.json' -class ServiceWorkerBenchmarkPage(page.Page): - """Page for workload to measure some specific functions in JS""" - - def RunNavigateSteps(self, action_runner): - action_runner.NavigateToPage(self) - action_runner.WaitForJavaScriptCondition('window.done') - - class ServiceWorkerPageSet(page_set.PageSet): - """Page set which is using ServiceWorker""" + """Page set of applications using ServiceWorker""" def __init__(self): super(ServiceWorkerPageSet, self).__init__( archive_data_file=archive_data_file_path, make_javascript_deterministic=False, - bucket=page_set.PUBLIC_BUCKET) + bucket=page_set.PARTNER_BUCKET) - # pylint: disable=C0301 - # The code of localhost:8091 is placed in - # https://github.com/coonsta/Service-Worker-Performance - # but currently the following is used: - # https://github.com/amiq11/Service-Worker-Performance/tree/follow_spec_and_many_registration - # (rev: 3238098ea0225f53dab2f69f7406db8a2712dbf9) - # This will be merged into the main repository. - # pylint: enable=C0301 - # Why: to measure performance of many concurrent fetches - self.AddPage(ServiceWorkerBenchmarkPage( - 'http://localhost:8091/index.html', self)) - # Why: to measure performance of registrations - self.AddPage(ServiceWorkerBenchmarkPage( - 'http://localhost:8091/many-registration.html', self)) # Why: the first application using ServiceWorker - # TODO(shimazu): Separate application tests from microbenchmark above two. # 1st time: registration self.AddPage(page.Page( 'https://jakearchibald.github.io/trained-to-thrill/', self)) diff --git a/tools/perf/page_sets/service_worker_micro_benchmark.py b/tools/perf/page_sets/service_worker_micro_benchmark.py new file mode 100644 index 0000000..3e4ef30 --- /dev/null +++ b/tools/perf/page_sets/service_worker_micro_benchmark.py @@ -0,0 +1,42 @@ +# 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. + +from telemetry.page import page as page +from telemetry.page import page_set as page_set + + +archive_data_file_path = 'data/service_worker_micro_benchmark.json' + + +class ServiceWorkerBenchmarkPage(page.Page): + """Page for workload to measure some specific functions in JS""" + + def RunNavigateSteps(self, action_runner): + action_runner.NavigateToPage(self) + action_runner.WaitForJavaScriptCondition('window.done') + + +class ServiceWorkerMicroBenchmarkPageSet(page_set.PageSet): + """Page set for micro benchmarking of each functions with ServiceWorker""" + + def __init__(self): + super(ServiceWorkerMicroBenchmarkPageSet, self).__init__( + archive_data_file=archive_data_file_path, + make_javascript_deterministic=False, + bucket=page_set.PUBLIC_BUCKET) + + # pylint: disable=C0301 + # The code of localhost:8091 is placed in + # https://github.com/coonsta/Service-Worker-Performance + # but currently the following is used: + # https://github.com/amiq11/Service-Worker-Performance/tree/follow_spec_and_many_registration + # (rev: 3238098ea0225f53dab2f69f7406db8a2712dbf9) + # This will be merged into the main repository. + # pylint: enable=C0301 + # Why: to measure performance of many concurrent fetches + self.AddPage(ServiceWorkerBenchmarkPage( + 'http://localhost:8091/index.html', self)) + # Why: to measure performance of registrations + self.AddPage(ServiceWorkerBenchmarkPage( + 'http://localhost:8091/many-registration.html', self)) |