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

Unified Diff: tools/telemetry/telemetry/internal/platform/cros_platform_backend.py

Issue 1647513002: Delete tools/telemetry. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 11 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
Index: tools/telemetry/telemetry/internal/platform/cros_platform_backend.py
diff --git a/tools/telemetry/telemetry/internal/platform/cros_platform_backend.py b/tools/telemetry/telemetry/internal/platform/cros_platform_backend.py
deleted file mode 100644
index 89b04bfcb88af5f4399468cefe68d9066ac21fb7..0000000000000000000000000000000000000000
--- a/tools/telemetry/telemetry/internal/platform/cros_platform_backend.py
+++ /dev/null
@@ -1,152 +0,0 @@
-# Copyright 2013 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 logging
-
-from telemetry.core import cros_interface
-from telemetry.core import platform
-from telemetry.core import util
-from telemetry.internal.forwarders import cros_forwarder
-from telemetry.internal.platform import cros_device
-from telemetry.internal.platform import linux_based_platform_backend
-from telemetry.internal.platform.power_monitor import cros_power_monitor
-from telemetry.internal.util import ps_util
-
-
-class CrosPlatformBackend(
- linux_based_platform_backend.LinuxBasedPlatformBackend):
- def __init__(self, device=None):
- super(CrosPlatformBackend, self).__init__(device)
- if device and not device.is_local:
- self._cri = cros_interface.CrOSInterface(
- device.host_name, device.ssh_port, device.ssh_identity)
- self._cri.TryLogin()
- else:
- self._cri = cros_interface.CrOSInterface()
- self._powermonitor = cros_power_monitor.CrosPowerMonitor(self)
-
- @classmethod
- def IsPlatformBackendForHost(cls):
- return util.IsRunningOnCrosDevice()
-
- @classmethod
- def SupportsDevice(cls, device):
- return isinstance(device, cros_device.CrOSDevice)
-
- @classmethod
- def CreatePlatformForDevice(cls, device, finder_options):
- assert cls.SupportsDevice(device)
- return platform.Platform(CrosPlatformBackend(device))
-
- @property
- def cri(self):
- return self._cri
-
- @property
- def forwarder_factory(self):
- if not self._forwarder_factory:
- self._forwarder_factory = cros_forwarder.CrOsForwarderFactory(self._cri)
- return self._forwarder_factory
-
- def GetRemotePort(self, port):
- if self._cri.local:
- return port
- return self._cri.GetRemotePort()
-
- def IsThermallyThrottled(self):
- raise NotImplementedError()
-
- def HasBeenThermallyThrottled(self):
- raise NotImplementedError()
-
- def RunCommand(self, args):
- if not isinstance(args, list):
- args = [args]
- stdout, stderr = self._cri.RunCmdOnDevice(args)
- if stderr:
- raise IOError('Failed to run: cmd = %s, stderr = %s' %
- (str(args), stderr))
- return stdout
-
- def GetFileContents(self, filename):
- try:
- return self.RunCommand(['cat', filename])
- except AssertionError:
- return ''
-
- def GetPsOutput(self, columns, pid=None):
- return ps_util.GetPsOutputWithPlatformBackend(self, columns, pid)
-
- @staticmethod
- def ParseCStateSample(sample):
- sample_stats = {}
- for cpu in sample:
- values = sample[cpu].splitlines()
- # There are three values per state after excluding the single time value.
- num_states = (len(values) - 1) / 3
- names = values[:num_states]
- times = values[num_states:2 * num_states]
- latencies = values[2 * num_states:]
- # The last line in the sample contains the time.
- cstates = {'C0': int(values[-1]) * 10 ** 6}
- for i, state in enumerate(names):
- if names[i] == 'POLL' and not int(latencies[i]):
- # C0 state. Kernel stats aren't right, so calculate by
- # subtracting all other states from total time (using epoch
- # timer since we calculate differences in the end anyway).
- # NOTE: Only x86 lists C0 under cpuidle, ARM does not.
- continue
- cstates['C0'] -= int(times[i])
- if names[i] == '<null>':
- # Kernel race condition that can happen while a new C-state gets
- # added (e.g. AC->battery). Don't know the 'name' of the state
- # yet, but its 'time' would be 0 anyway.
- continue
- cstates[state] = int(times[i])
- sample_stats[cpu] = cstates
- return sample_stats
-
- def GetOSName(self):
- return 'chromeos'
-
- def GetOSVersionName(self):
- return '' # TODO: Implement this.
-
- def GetChildPids(self, pid):
- """Returns a list of child pids of |pid|."""
- all_process_info = self._cri.ListProcesses()
- processes = [(curr_pid, curr_ppid, curr_state)
- for curr_pid, _, curr_ppid, curr_state in all_process_info]
- return ps_util.GetChildPids(processes, pid)
-
- def GetCommandLine(self, pid):
- procs = self._cri.ListProcesses()
- return next((proc[1] for proc in procs if proc[0] == pid), None)
-
- def CanFlushIndividualFilesFromSystemCache(self):
- return True
-
- def FlushEntireSystemCache(self):
- raise NotImplementedError()
-
- def FlushSystemCacheForDirectory(self, directory):
- flush_command = (
- '/usr/local/telemetry/src/src/out/Release/clear_system_cache')
- self.RunCommand(['chmod', '+x', flush_command])
- self.RunCommand([flush_command, '--recurse', directory])
-
- def CanMonitorPower(self):
- return self._powermonitor.CanMonitorPower()
-
- def StartMonitoringPower(self, browser):
- self._powermonitor.StartMonitoringPower(browser)
-
- def StopMonitoringPower(self):
- return self._powermonitor.StopMonitoringPower()
-
- def PathExists(self, path, timeout=None, retries=None):
- if timeout or retries:
- logging.warning(
- 'PathExists: params timeout and retries are not support on CrOS.')
- return self._cri.FileExistsOnDevice(path)

Powered by Google App Engine
This is Rietveld 408576698