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

Unified Diff: tools/perf/measurements/power_many_tabs.py

Issue 178363005: [Telemetry] Measure power in tab_switching measurement (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Remove extreneous change Created 6 years, 10 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 | « tools/perf/benchmarks/power.py ('k') | tools/perf/metrics/speedindex.js » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/perf/measurements/power_many_tabs.py
diff --git a/tools/perf/measurements/power_many_tabs.py b/tools/perf/measurements/power_many_tabs.py
new file mode 100644
index 0000000000000000000000000000000000000000..492e6308e8016be7b7314a513f31505ef1763213
--- /dev/null
+++ b/tools/perf/measurements/power_many_tabs.py
@@ -0,0 +1,44 @@
+# 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.
+
+import time
+
+from metrics import power
+from telemetry.core import util
+from telemetry.page import page_measurement
+
+
+class PowerManyTabs(page_measurement.PageMeasurement):
+ """Load pageset in multiple tabs, measure power after quiesencence."""
+
+ # Amount of time to measure power usage for, in seconds.
+ POWER_MEAUSUREMENT_TIME_S = 5
+
+ def __init__(self, action_name_to_run=''):
+ super(PowerManyTabs, self).__init__(action_name_to_run=action_name_to_run)
+ self._power_metric = power.PowerMetric()
+
+ def CustomizeBrowserOptions(self, options):
+ power.PowerMetric.CustomizeBrowserOptions(options)
+
+ def TabForPage(self, page, browser):
+ return browser.tabs.New()
+
+ def StopBrowserAfterPage(self, browser, page):
+ # Restart browser after all pages in pageset are loaded.
+ return len(browser.tabs) == len(page.page_set.pages)
+
+ def MeasurePage(self, page, tab, results):
+ """Only measure on the last tab."""
+ if len(tab.browser.tabs) != len(page.page_set.pages):
+ return
+
+ util.WaitFor(tab.HasReachedQuiescence, 60)
qsr 2014/02/27 14:00:52 Should you wait for the quiescence of every tab, a
+
+ # Measure power after quiescence.
+ self._power_metric.Start(page, tab)
+ time.sleep(PowerManyTabs.POWER_MEAUSUREMENT_TIME_S)
+ self._power_metric.Stop(page, tab)
+
+ self._power_metric.AddResults(tab, results)
« no previous file with comments | « tools/perf/benchmarks/power.py ('k') | tools/perf/metrics/speedindex.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698