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

Side by Side Diff: build/android/pylib/android_commands.py

Issue 285693008: Android: follow up on crrev.com/270395 Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 """Provides an interface to communicate with the device via the adb command. 5 """Provides an interface to communicate with the device via the adb command.
6 6
7 Assumes adb binary is currently on system path. 7 Assumes adb binary is currently on system path.
8 """ 8 """
9 # pylint: disable-all 9 # pylint: disable-all
10 10
(...skipping 1620 matching lines...) Expand 10 before | Expand all | Expand 10 after
1631 Shared_Dirty, Private_Clean, Private_Dirty, VmHWM. 1631 Shared_Dirty, Private_Clean, Private_Dirty, VmHWM.
1632 """ 1632 """
1633 showmap = self.RunShellCommand('showmap %d' % pid) 1633 showmap = self.RunShellCommand('showmap %d' % pid)
1634 if not showmap or not showmap[-1].endswith('TOTAL'): 1634 if not showmap or not showmap[-1].endswith('TOTAL'):
1635 logging.warning('Invalid output for showmap %s', str(showmap)) 1635 logging.warning('Invalid output for showmap %s', str(showmap))
1636 return {} 1636 return {}
1637 items = showmap[-1].split() 1637 items = showmap[-1].split()
1638 if len(items) != 9: 1638 if len(items) != 9:
1639 logging.warning('Invalid TOTAL for showmap %s', str(items)) 1639 logging.warning('Invalid TOTAL for showmap %s', str(items))
1640 return {} 1640 return {}
1641 usage_dict = collections.defaultdict(int) 1641 usage_dict = {
1642 usage_dict.update({
1643 'Size': int(items[0].strip()), 1642 'Size': int(items[0].strip()),
1644 'Rss': int(items[1].strip()), 1643 'Rss': int(items[1].strip()),
1645 'Pss': int(items[2].strip()), 1644 'Pss': int(items[2].strip()),
1646 'Shared_Clean': int(items[3].strip()), 1645 'Shared_Clean': int(items[3].strip()),
1647 'Shared_Dirty': int(items[4].strip()), 1646 'Shared_Dirty': int(items[4].strip()),
1648 'Private_Clean': int(items[5].strip()), 1647 'Private_Clean': int(items[5].strip()),
1649 'Private_Dirty': int(items[6].strip()), 1648 'Private_Dirty': int(items[6].strip()),
1650 }) 1649 }
1651 peak_value_kb = 0
1652 for line in self.GetProtectedFileContents('/proc/%s/status' % pid): 1650 for line in self.GetProtectedFileContents('/proc/%s/status' % pid):
1653 if not line.startswith('VmHWM:'): # Format: 'VmHWM: +[0-9]+ kB' 1651 if not line.startswith('VmHWM:'): # Format: 'VmHWM: +[0-9]+ kB'
1654 continue 1652 continue
1655 peak_value_kb = int(line.split(':')[1].strip().split(' ')[0]) 1653 usage_dict['VmHWM'] = int(line.split(':')[1].strip().split(' ')[0])
1656 break 1654 break
1657 usage_dict['VmHWM'] = peak_value_kb 1655 else:
1658 if not peak_value_kb:
1659 logging.warning('Could not find memory peak value for pid ' + str(pid)) 1656 logging.warning('Could not find memory peak value for pid ' + str(pid))
1657 usage_dict['VmHWM'] = 0
1660 1658
1661 return usage_dict 1659 return usage_dict
1662 1660
1663 def ProcessesUsingDevicePort(self, device_port): 1661 def ProcessesUsingDevicePort(self, device_port):
1664 """Lists processes using the specified device port on loopback interface. 1662 """Lists processes using the specified device port on loopback interface.
1665 1663
1666 Args: 1664 Args:
1667 device_port: Port on device we want to check. 1665 device_port: Port on device we want to check.
1668 1666
1669 Returns: 1667 Returns:
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after
1960 """ 1958 """
1961 def __init__(self, output): 1959 def __init__(self, output):
1962 self._output = output 1960 self._output = output
1963 1961
1964 def write(self, data): 1962 def write(self, data):
1965 data = data.replace('\r\r\n', '\n') 1963 data = data.replace('\r\r\n', '\n')
1966 self._output.write(data) 1964 self._output.write(data)
1967 1965
1968 def flush(self): 1966 def flush(self):
1969 self._output.flush() 1967 self._output.flush()
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698