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

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

Issue 1092393002: Telemetry: Quiescent power benchmarks for Mac (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@safari-backend
Patch Set: Fix unit test Created 5 years, 8 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/measurements/page_cycler_unittest.py ('k') | tools/perf/metrics/cpu.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/perf/measurements/power.py
diff --git a/tools/perf/measurements/power.py b/tools/perf/measurements/power.py
index 2552539cf85c6c80cbb715f87d5de55a3f90638d..c9724cc6d3c6f2d9f9db972da3c188f2491f4019 100644
--- a/tools/perf/measurements/power.py
+++ b/tools/perf/measurements/power.py
@@ -2,12 +2,16 @@
# 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_test
+import time
from metrics import power
+from telemetry.core import util
+from telemetry.page import page_test
class Power(page_test.PageTest):
+ """Measures power draw and idle wakeups during the page's interactions."""
+
def __init__(self):
super(Power, self).__init__()
self._power_metric = None
@@ -21,3 +25,24 @@ class Power(page_test.PageTest):
def ValidateAndMeasurePage(self, page, tab, results):
self._power_metric.Stop(page, tab)
self._power_metric.AddResults(tab, results)
+
+
+class QuiescentPower(page_test.PageTest):
+ """Measures power draw and idle wakeups after the page finished loading."""
+
+ # Amount of time to measure, in seconds.
+ SAMPLE_TIME = 30
+
+ def ValidateAndMeasurePage(self, page, tab, results):
+ if not tab.browser.platform.CanMonitorPower():
+ return
+
+ util.WaitFor(tab.HasReachedQuiescence, 60)
+
+ metric = power.PowerMetric(tab.browser.platform)
+ metric.Start(page, tab)
+
+ time.sleep(QuiescentPower.SAMPLE_TIME)
+
+ metric.Stop(page, tab)
+ metric.AddResults(tab, results)
« no previous file with comments | « tools/perf/measurements/page_cycler_unittest.py ('k') | tools/perf/metrics/cpu.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698