Commit 0f59f358 authored by tonyg@chromium.org's avatar tonyg@chromium.org

[Telemetry] Fix cpu metric on non-rooted devices.

BUG=400734

Review URL: https://codereview.chromium.org/451523004

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@288067 0039d316-1c4b-4281-b951-d872f2087c98
parent 0d6ff3b0
...@@ -11,9 +11,9 @@ class CpuMetric(Metric): ...@@ -11,9 +11,9 @@ class CpuMetric(Metric):
def __init__(self, browser): def __init__(self, browser):
super(CpuMetric, self).__init__() super(CpuMetric, self).__init__()
self._results = None
self._browser = browser self._browser = browser
self._start_cpu = None self._start_cpu = None
self._stop_cpu = None
def DidStartBrowser(self, browser): def DidStartBrowser(self, browser):
# Save the browser object so that cpu_stats can be accessed later. # Save the browser object so that cpu_stats can be accessed later.
...@@ -24,16 +24,17 @@ class CpuMetric(Metric): ...@@ -24,16 +24,17 @@ class CpuMetric(Metric):
def Stop(self, page, tab): def Stop(self, page, tab):
assert self._start_cpu, 'Must call Start() first' assert self._start_cpu, 'Must call Start() first'
self._results = _SubtractCpuStats(self._browser.cpu_stats, self._start_cpu) self._stop_cpu = self._browser.cpu_stats
# Optional argument trace_name is not in base class Metric. # Optional argument trace_name is not in base class Metric.
# pylint: disable=W0221 # pylint: disable=W0221
def AddResults(self, tab, results, trace_name='cpu_utilization'): def AddResults(self, tab, results, trace_name='cpu_utilization'):
assert self._results, 'Must call Stop() first' assert self._stop_cpu, 'Must call Stop() first'
cpu_stats = _SubtractCpuStats(self._stop_cpu, self._start_cpu)
# Add a result for each process type. # Add a result for each process type.
for process_type in self._results: for process_type in cpu_stats:
trace_name_for_process = '%s_%s' % (trace_name, process_type.lower()) trace_name_for_process = '%s_%s' % (trace_name, process_type.lower())
cpu_percent = 100 * self._results[process_type] cpu_percent = 100 * cpu_stats[process_type]
results.AddValue(scalar.ScalarValue( results.AddValue(scalar.ScalarValue(
results.current_page, 'cpu_utilization.%s' % trace_name_for_process, results.current_page, 'cpu_utilization.%s' % trace_name_for_process,
'%', cpu_percent, important=False)) '%', cpu_percent, important=False))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment