summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortonyg@chromium.org <tonyg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-07-24 22:38:28 +0000
committertonyg@chromium.org <tonyg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-07-24 22:38:28 +0000
commitf22ad7075521b984d05216872f4679b2691fcc6d (patch)
tree63b58f63bcdfc659b94978737268addc31b0622e
parent0aebc25133c4d3e7d92d96f8786478917c423975 (diff)
downloadchromium_src-f22ad7075521b984d05216872f4679b2691fcc6d.zip
chromium_src-f22ad7075521b984d05216872f4679b2691fcc6d.tar.gz
chromium_src-f22ad7075521b984d05216872f4679b2691fcc6d.tar.bz2
Revert of Telemetry: Initialize smoothness and thread_times metrics before page load, not after. (https://codereview.chromium.org/392613002/)
Reason for revert: Breaks smoothness tests on N4 (at least) with no frames error. Possible this is a legit perf regression? But reverting anyway to green things up. http://build.chromium.org/p/chromium.perf/builders/Android%20Nexus5%20Perf/builds/1115 Original issue's description: > Telemetry: Initialize smoothness and thread_times metrics before page load, not after. > > Currently both smoothness and thread_times initialize their metrics after page > load. This leads to a gap between the page load and the page actions starting. > This patch moves the initialization before the page load, thus eliminating the > gap. It is safe to do so because smoothness and thread_times require a page load > before each run (even when repeating the same page). > > Note to perf sheriffs: > This patch is likely to cause performance numbers to worsen, because the browser is often more busy immediately after page load. If you get alerts related to this CL, feel free to ignore them. If there is a reference build for the bot, the number for the reference build should also change accordingly. > > BUG=392895 > > Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=285297 TBR=skyostil@chromium.org,picksi@google.com,dominikg@chromium.org NOTREECHECKS=true NOTRY=true BUG=392895 Review URL: https://codereview.chromium.org/419623002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@285395 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--tools/perf/measurements/loading_trace.py3
-rw-r--r--tools/perf/measurements/repaint.py3
-rw-r--r--tools/perf/measurements/smoothness.py7
-rw-r--r--tools/perf/measurements/smoothness_controller.py4
-rw-r--r--tools/perf/measurements/smoothness_unittest.py1
-rw-r--r--tools/perf/measurements/thread_times.py7
-rw-r--r--tools/perf/measurements/timeline_controller.py4
7 files changed, 8 insertions, 21 deletions
diff --git a/tools/perf/measurements/loading_trace.py b/tools/perf/measurements/loading_trace.py
index 9d926a8..ed48bc0 100644
--- a/tools/perf/measurements/loading_trace.py
+++ b/tools/perf/measurements/loading_trace.py
@@ -17,8 +17,7 @@ class LoadingTrace(page_measurement.PageMeasurement):
return False
def WillNavigateToPage(self, page, tab):
- self._timeline_controller.SetUp(page, tab)
- self._timeline_controller.Start(tab)
+ self._timeline_controller.Start(page, tab)
def MeasurePage(self, page, tab, results):
# In current telemetry tests, all tests wait for DocumentComplete state,
diff --git a/tools/perf/measurements/repaint.py b/tools/perf/measurements/repaint.py
index cd3c756..fa90b3d 100644
--- a/tools/perf/measurements/repaint.py
+++ b/tools/perf/measurements/repaint.py
@@ -35,8 +35,7 @@ class Repaint(page_measurement.PageMeasurement):
def WillRunActions(self, page, tab):
tab.WaitForDocumentReadyStateToBeComplete()
self._smoothness_controller = smoothness_controller.SmoothnessController()
- self._smoothness_controller.SetUp(page, tab)
- self._smoothness_controller.Start(tab)
+ self._smoothness_controller.Start(page, tab)
# Rasterize only what's visible.
tab.ExecuteJavaScript(
'chrome.gpuBenchmarking.setRasterizeOnlyVisibleContent();')
diff --git a/tools/perf/measurements/smoothness.py b/tools/perf/measurements/smoothness.py
index bfa9232..b90a56b 100644
--- a/tools/perf/measurements/smoothness.py
+++ b/tools/perf/measurements/smoothness.py
@@ -22,13 +22,10 @@ class Smoothness(page_measurement.PageMeasurement):
def WillStartBrowser(self, browser):
self._power_metric = power.PowerMetric(browser)
- def WillNavigateToPage(self, page, tab):
+ def WillRunActions(self, page, tab):
self._power_metric.Start(page, tab)
self._smoothness_controller = smoothness_controller.SmoothnessController()
- self._smoothness_controller.SetUp(page, tab)
-
- def WillRunActions(self, page, tab):
- self._smoothness_controller.Start(tab)
+ self._smoothness_controller.Start(page, tab)
def DidRunActions(self, page, tab):
self._power_metric.Stop(page, tab)
diff --git a/tools/perf/measurements/smoothness_controller.py b/tools/perf/measurements/smoothness_controller.py
index 6e8dcd9..c054ccc 100644
--- a/tools/perf/measurements/smoothness_controller.py
+++ b/tools/perf/measurements/smoothness_controller.py
@@ -27,7 +27,7 @@ class SmoothnessController(object):
self._tracing_timeline_data = None
self._interaction = None
- def SetUp(self, page, tab):
+ def Start(self, page, tab):
# FIXME: Remove webkit.console when blink.console lands in chromium and
# the ref builds are updated. crbug.com/386847
custom_categories = ['webkit.console', 'blink.console', 'benchmark']
@@ -35,8 +35,6 @@ class SmoothnessController(object):
tab.browser.StartTracing(','.join(custom_categories), 60)
if tab.browser.platform.IsRawDisplayFrameRateSupported():
tab.browser.platform.StartRawDisplayFrameRateMeasurement()
-
- def Start(self, tab):
# Start the smooth marker for all smooth actions.
runner = action_runner.ActionRunner(tab)
self._interaction = runner.BeginInteraction(
diff --git a/tools/perf/measurements/smoothness_unittest.py b/tools/perf/measurements/smoothness_unittest.py
index b53c405..e826342 100644
--- a/tools/perf/measurements/smoothness_unittest.py
+++ b/tools/perf/measurements/smoothness_unittest.py
@@ -64,7 +64,6 @@ class SmoothnessUnitTest(
tab = FakeTab()
measurement = smoothness.Smoothness()
measurement.WillStartBrowser(tab.browser)
- measurement.WillNavigateToPage(test_page, tab)
measurement.WillRunActions(test_page, tab)
expected_category_filter = [
diff --git a/tools/perf/measurements/thread_times.py b/tools/perf/measurements/thread_times.py
index e653f8e..2940c86 100644
--- a/tools/perf/measurements/thread_times.py
+++ b/tools/perf/measurements/thread_times.py
@@ -22,7 +22,7 @@ class ThreadTimes(page_measurement.PageMeasurement):
def results_are_the_same_on_every_page(self):
return False
- def WillNavigateToPage(self, page, tab):
+ def WillRunActions(self, page, tab):
self._timeline_controller = timeline_controller.TimelineController()
if self.options.report_silk_details:
# We need the other traces in order to have any details to report.
@@ -31,10 +31,7 @@ class ThreadTimes(page_measurement.PageMeasurement):
else:
self._timeline_controller.trace_categories = \
tracing_backend.MINIMAL_TRACE_CATEGORIES
- self._timeline_controller.SetUp(page, tab)
-
- def WillRunActions(self, page, tab):
- self._timeline_controller.Start(tab)
+ self._timeline_controller.Start(page, tab)
def DidRunActions(self, page, tab):
self._timeline_controller.Stop(tab)
diff --git a/tools/perf/measurements/timeline_controller.py b/tools/perf/measurements/timeline_controller.py
index 4cd0008..77d3934 100644
--- a/tools/perf/measurements/timeline_controller.py
+++ b/tools/perf/measurements/timeline_controller.py
@@ -21,7 +21,7 @@ class TimelineController(object):
self._smooth_records = []
self._interaction = None
- def SetUp(self, page, tab):
+ def Start(self, page, tab):
"""Starts gathering timeline data.
"""
@@ -36,8 +36,6 @@ class TimelineController(object):
else:
categories = page.GetSyntheticDelayCategories()
tab.browser.StartTracing(','.join(categories))
-
- def Start(self, tab):
# Start the smooth marker for all actions.
runner = action_runner.ActionRunner(tab)
self._interaction = runner.BeginInteraction(