From fa9664f40ae3deb366e005d1ecf06412bc84d5c3 Mon Sep 17 00:00:00 2001 From: "jeremy@chromium.org" Date: Tue, 18 Mar 2014 21:38:46 +0000 Subject: [Telemetry] Friendlier error messages if power metric is disabled. * Advise user to use the --report-root-metrics flag to enable power measurement. * Only print warning about power measurement being disabled once for a test rather than every time a power metric is disabled. BUG= Review URL: https://codereview.chromium.org/196133026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@257767 0039d316-1c4b-4281-b951-d872f2087c98 --- tools/perf/metrics/power.py | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) (limited to 'tools/perf') diff --git a/tools/perf/metrics/power.py b/tools/perf/metrics/power.py index 075603b..fbe3511 100644 --- a/tools/perf/metrics/power.py +++ b/tools/perf/metrics/power.py @@ -5,12 +5,13 @@ import logging from metrics import Metric +from telemetry.core.platform import factory class PowerMetric(Metric): """A metric for measuring power usage.""" - _enabled = True + enabled = True def __init__(self): super(PowerMetric, self).__init__() @@ -36,14 +37,24 @@ class PowerMetric(Metric): @classmethod def CustomizeBrowserOptions(cls, options): - PowerMetric._enabled = options.report_root_metrics + PowerMetric.enabled = options.report_root_metrics + + # Friendly informational messages if measurement won't run. + system_supports_power_monitoring = ( + factory.GetPlatformBackendForCurrentOS().CanMonitorPowerAsync()) + if system_supports_power_monitoring: + if not PowerMetric.enabled: + logging.warning( + "--report-root-metrics omitted, power measurement disabled.") + else: + logging.info("System doesn't support power monitoring, power measurement" + " disabled.") def Start(self, _, tab): - if not PowerMetric._enabled: + if not PowerMetric.enabled: return if not tab.browser.platform.CanMonitorPowerAsync(): - logging.warning("System doesn't support async power monitoring.") return self._results = None @@ -54,7 +65,7 @@ class PowerMetric(Metric): self._running = True def Stop(self, _, tab): - if not PowerMetric._enabled: + if not PowerMetric.enabled: return if not tab.browser.platform.CanMonitorPowerAsync(): -- cgit v1.1