| Index: third_party/psutil/psutil/_psbsd.py
|
| diff --git a/third_party/psutil/psutil/_psbsd.py b/third_party/psutil/psutil/_psbsd.py
|
| deleted file mode 100644
|
| index b437a6a500445e727e7384ac22e87abf594e9ed7..0000000000000000000000000000000000000000
|
| --- a/third_party/psutil/psutil/_psbsd.py
|
| +++ /dev/null
|
| @@ -1,230 +0,0 @@
|
| -#!/usr/bin/env python
|
| -#
|
| -# $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
|
| -
|
| -import _psutil_bsd
|
| -import _psutil_posix
|
| -import _psposix
|
| -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()
|
| -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 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 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):
|
| - """Call method(self, pid) into a try/except clause so that if an
|
| - OSError "No such process" exception is raised we assume the process
|
| - has died and raise psutil.NoSuchProcess instead.
|
| - """
|
| - def wrapper(self, *args, **kwargs):
|
| - try:
|
| - return method(self, *args, **kwargs)
|
| - except OSError, err:
|
| - if err.errno == errno.ESRCH:
|
| - raise NoSuchProcess(self.pid, self._process_name)
|
| - if err.errno in (errno.EPERM, errno.EACCES):
|
| - raise AccessDenied(self.pid, self._process_name)
|
| - 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 Process(object):
|
| - """Wrapper class around underlying C implementation."""
|
| -
|
| - __slots__ = ["pid", "_process_name"]
|
| -
|
| - def __init__(self, pid):
|
| - self.pid = pid
|
| - self._process_name = None
|
| -
|
| - @wrap_exceptions
|
| - def get_process_name(self):
|
| - """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):
|
| - """Return process executable pathname."""
|
| - return _psutil_bsd.get_process_exe(self.pid)
|
| -
|
| - @wrap_exceptions
|
| - def get_process_cmdline(self):
|
| - """Return process cmdline as a list of arguments."""
|
| - 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_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_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 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 ntuple_meminfo(rss, vms)
|
| -
|
| - @wrap_exceptions
|
| - def get_process_create_time(self):
|
| - """Return the start time of the process as a number of seconds since
|
| - the epoch."""
|
| - return _psutil_bsd.get_process_create_time(self.pid)
|
| -
|
| - @wrap_exceptions
|
| - def get_process_num_threads(self):
|
| - """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)
|
| - return lsof.get_process_open_files()
|
| -
|
| - def get_connections(self):
|
| - """Return network connections opened by a process as a list of
|
| - namedtuples by parsing lsof output.
|
| - """
|
| - 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)
|
| -
|
| - @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)
|
|
|