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

Unified Diff: third_party/psutil/psutil/_psbsd.py

Issue 8159001: Update third_party/psutil and fix the licence issue with it. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: remove the suppression and unnecessary files. Created 9 years, 2 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 | « third_party/psutil/psutil/_compat.py ('k') | third_party/psutil/psutil/_pslinux.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/psutil/psutil/_psbsd.py
diff --git a/third_party/psutil/psutil/_psbsd.py b/third_party/psutil/psutil/_psbsd.py
index 6c4624efc529f42e442ebb33330087a8559d99da..b437a6a500445e727e7384ac22e87abf594e9ed7 100644
--- a/third_party/psutil/psutil/_psbsd.py
+++ b/third_party/psutil/psutil/_psbsd.py
@@ -1,62 +1,84 @@
#!/usr/bin/env python
#
-# $Id: _psbsd.py 806 2010-11-12 23:09:35Z g.rodola $
+# $Id: _psbsd.py 1142 2011-10-05 18:45:49Z g.rodola $
#
+# Copyright (c) 2009, Jay Loden, Giampaolo Rodola'. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+"""FreeBSD platform implementation."""
import errno
import os
-try:
- from collections import namedtuple
-except ImportError:
- from psutil.compat import namedtuple # python < 2.6
-
import _psutil_bsd
+import _psutil_posix
import _psposix
-from psutil.error import AccessDenied, NoSuchProcess
+from psutil.error import AccessDenied, NoSuchProcess, TimeoutExpired
+from psutil._compat import namedtuple
+from psutil._common import *
+__extra__all__ = []
# --- constants
NUM_CPUS = _psutil_bsd.get_num_cpus()
-TOTAL_PHYMEM = _psutil_bsd.get_total_phymem()
+BOOT_TIME = _psutil_bsd.get_system_boot_time()
+_TERMINAL_MAP = _psposix._get_terminal_map()
+_cputimes_ntuple = namedtuple('cputimes', 'user nice system idle irq')
# --- public functions
-def avail_phymem():
- "Return the amount of physical memory available on the system, in bytes."
- return _psutil_bsd.get_avail_phymem()
-
-def used_phymem():
- "Return the amount of physical memory currently in use on the system, in bytes."
- return TOTAL_PHYMEM - _psutil_bsd.get_avail_phymem()
-
-def total_virtmem():
- "Return the amount of total virtual memory available on the system, in bytes."
- return _psutil_bsd.get_total_virtmem()
-
-def avail_virtmem():
- "Return the amount of virtual memory currently in use on the system, in bytes."
- return _psutil_bsd.get_avail_virtmem()
-
-def used_virtmem():
- """Return the amount of used memory currently in use on the system, in bytes."""
- return _psutil_bsd.get_total_virtmem() - _psutil_bsd.get_avail_virtmem()
+def phymem_usage():
+ """Physical system memory as a (total, used, free) tuple."""
+ total = _psutil_bsd.get_total_phymem()
+ free = _psutil_bsd.get_avail_phymem()
+ used = total - free
+ # XXX check out whether we have to do the same math we do on Linux
+ percent = usage_percent(used, total, _round=1)
+ return ntuple_sysmeminfo(total, used, free, percent)
+
+def virtmem_usage():
+ """Virtual system memory as a (total, used, free) tuple."""
+ total = _psutil_bsd.get_total_virtmem()
+ free = _psutil_bsd.get_avail_virtmem()
+ used = total - free
+ percent = usage_percent(used, total, _round=1)
+ return ntuple_sysmeminfo(total, used, free, percent)
def get_system_cpu_times():
- """Return a dict representing the following CPU times:
- user, nice, system, idle, interrupt."""
- values = _psutil_bsd.get_system_cpu_times()
- return dict(user=values[0], nice=values[1], system=values[2],
- idle=values[3], irq=values[4])
-
-def get_pid_list():
- """Returns a list of PIDs currently running on the system."""
- return _psutil_bsd.get_pid_list()
-
-def pid_exists(pid):
- """Check For the existence of a unix pid."""
- return _psposix.pid_exists(pid)
+ """Return system per-CPU times as a named tuple"""
+ user, nice, system, idle, irq = _psutil_bsd.get_system_cpu_times()
+ return _cputimes_ntuple(user, nice, system, idle, irq)
+
+def get_system_per_cpu_times():
+ """Return system CPU times as a named tuple"""
+ ret = []
+ for cpu_t in _psutil_bsd.get_system_per_cpu_times():
+ user, nice, system, idle, irq = cpu_t
+ item = _cputimes_ntuple(user, nice, system, idle, irq)
+ ret.append(item)
+ return ret
+
+def disk_partitions(all=False):
+ retlist = []
+ partitions = _psutil_bsd.get_disk_partitions()
+ for partition in partitions:
+ device, mountpoint, fstype = partition
+ if device == 'none':
+ device = ''
+ if not all:
+ if not os.path.isabs(device) \
+ or not os.path.exists(device):
+ continue
+ ntuple = ntuple_partition(device, mountpoint, fstype)
+ retlist.append(ntuple)
+ return retlist
+
+get_pid_list = _psutil_bsd.get_pid_list
+pid_exists = _psposix.pid_exists
+get_disk_usage = _psposix.get_disk_usage
+network_io_counters = _psutil_osx.get_network_io_counters
def wrap_exceptions(method):
@@ -75,12 +97,20 @@ def wrap_exceptions(method):
raise
return wrapper
+_status_map = {
+ _psutil_bsd.SSTOP : STATUS_STOPPED,
+ _psutil_bsd.SSLEEP : STATUS_SLEEPING,
+ _psutil_bsd.SRUN : STATUS_RUNNING,
+ _psutil_bsd.SIDL : STATUS_IDLE,
+ _psutil_bsd.SWAIT : STATUS_WAITING,
+ _psutil_bsd.SLOCK : STATUS_LOCKED,
+ _psutil_bsd.SZOMB : STATUS_ZOMBIE,
+}
+
-class BSDProcess(object):
+class Process(object):
"""Wrapper class around underlying C implementation."""
- _meminfo_ntuple = namedtuple('meminfo', 'rss vms')
- _cputimes_ntuple = namedtuple('cputimes', 'user system')
__slots__ = ["pid", "_process_name"]
def __init__(self, pid):
@@ -92,10 +122,10 @@ class BSDProcess(object):
"""Return process name as a string of limited len (15)."""
return _psutil_bsd.get_process_name(self.pid)
+ @wrap_exceptions
def get_process_exe(self):
- # no such thing as "exe" on BSD; it will maybe be determined
- # later from cmdline[0]
- return ""
+ """Return process executable pathname."""
+ return _psutil_bsd.get_process_exe(self.pid)
@wrap_exceptions
def get_process_cmdline(self):
@@ -103,31 +133,41 @@ class BSDProcess(object):
return _psutil_bsd.get_process_cmdline(self.pid)
@wrap_exceptions
+ def get_process_terminal(self):
+ tty_nr = _psutil_bsd.get_process_tty_nr(self.pid)
+ try:
+ return _TERMINAL_MAP[tty_nr]
+ except KeyError:
+ return None
+
+ @wrap_exceptions
def get_process_ppid(self):
"""Return process parent pid."""
return _psutil_bsd.get_process_ppid(self.pid)
@wrap_exceptions
- def get_process_uid(self):
- """Return process real user id."""
- return _psutil_bsd.get_process_uid(self.pid)
+ def get_process_uids(self):
+ """Return real, effective and saved user ids."""
+ real, effective, saved = _psutil_bsd.get_process_uids(self.pid)
+ return ntuple_uids(real, effective, saved)
@wrap_exceptions
- def get_process_gid(self):
- """Return process real group id."""
- return _psutil_bsd.get_process_gid(self.pid)
+ def get_process_gids(self):
+ """Return real, effective and saved group ids."""
+ real, effective, saved = _psutil_bsd.get_process_gids(self.pid)
+ return ntuple_gids(real, effective, saved)
@wrap_exceptions
def get_cpu_times(self):
"""return a tuple containing process user/kernel time."""
user, system = _psutil_bsd.get_cpu_times(self.pid)
- return self._cputimes_ntuple(user, system)
+ return ntuple_cputimes(user, system)
@wrap_exceptions
def get_memory_info(self):
"""Return a tuple with the process' RSS and VMS size."""
rss, vms = _psutil_bsd.get_memory_info(self.pid)
- return self._meminfo_ntuple(rss, vms)
+ return ntuple_meminfo(rss, vms)
@wrap_exceptions
def get_process_create_time(self):
@@ -140,6 +180,16 @@ class BSDProcess(object):
"""Return the number of threads belonging to the process."""
return _psutil_bsd.get_process_num_threads(self.pid)
+ @wrap_exceptions
+ def get_process_threads(self):
+ """Return the number of threads belonging to the process."""
+ rawlist = _psutil_bsd.get_process_threads(self.pid)
+ retlist = []
+ for thread_id, utime, stime in rawlist:
+ ntuple = ntuple_thread(thread_id, utime, stime)
+ retlist.append(ntuple)
+ return retlist
+
def get_open_files(self):
"""Return files opened by process by parsing lsof output."""
lsof = _psposix.LsofParser(self.pid, self._process_name)
@@ -152,6 +202,29 @@ class BSDProcess(object):
lsof = _psposix.LsofParser(self.pid, self._process_name)
return lsof.get_process_connections()
+ @wrap_exceptions
+ def process_wait(self, timeout=None):
+ try:
+ return _psposix.wait_pid(self.pid, timeout)
+ except TimeoutExpired:
+ raise TimeoutExpired(self.pid, self._process_name)
+
+ @wrap_exceptions
+ def get_process_nice(self):
+ return _psutil_posix.getpriority(self.pid)
+
+ @wrap_exceptions
+ def set_process_nice(self, value):
+ return _psutil_posix.setpriority(self.pid, value)
-PlatformProcess = BSDProcess
+ @wrap_exceptions
+ def get_process_status(self):
+ code = _psutil_bsd.get_process_status(self.pid)
+ if code in _status_map:
+ return _status_map[code]
+ return constant(-1, "?")
+ @wrap_exceptions
+ def get_process_io_counters(self):
+ rc, wc, rb, wb = _psutil_bsd.get_process_io_counters(self.pid)
+ return ntuple_io(rc, wc, rb, wb)
« no previous file with comments | « third_party/psutil/psutil/_compat.py ('k') | third_party/psutil/psutil/_pslinux.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698