mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-05 23:38:38 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
167
python/psutil/TODO
Normal file
167
python/psutil/TODO
Normal file
|
|
@ -0,0 +1,167 @@
|
|||
TODO
|
||||
====
|
||||
|
||||
A collection of ideas and notes about stuff to implement in future versions.
|
||||
"#NNN" occurrences refer to bug tracker issues at:
|
||||
https://github.com/giampaolo/psutil/issues
|
||||
|
||||
|
||||
HIGHER PRIORITY
|
||||
===============
|
||||
|
||||
* OpenBSD support.
|
||||
|
||||
* #371: CPU temperature (apparently OSX and Linux only; on Linux it requires
|
||||
lm-sensors lib).
|
||||
|
||||
* #269: expose network ifaces RX/TW queues. This should probably go into
|
||||
net_if_stats(). Figure out on what platforms this is supported:
|
||||
Linux: yes
|
||||
Others: ?
|
||||
|
||||
* Process.threads(): thread names; patch for OSX available at:
|
||||
https://code.google.com/p/plcrashreporter/issues/detail?id=65
|
||||
|
||||
* Asynchronous psutil.Popen (see http://bugs.python.org/issue1191964)
|
||||
|
||||
* (Windows) fall back on using WMIC for Process methods returning AccessDenied
|
||||
|
||||
* #613: thread names.
|
||||
|
||||
* #604: emulate os.getloadavg() on Windows
|
||||
|
||||
* #269: NIC rx/tx queue.
|
||||
|
||||
|
||||
LOWER PRIORITY
|
||||
==============
|
||||
|
||||
* #355: Android support.
|
||||
|
||||
* #276: GNU/Hurd support.
|
||||
|
||||
* #429: NetBSD support.
|
||||
|
||||
* DragonFlyBSD support?
|
||||
|
||||
* AIX support?
|
||||
|
||||
* examples/taskmgr-gui.py (using tk).
|
||||
|
||||
* system-wide number of open file descriptors:
|
||||
* https://jira.hyperic.com/browse/SIGAR-30
|
||||
* http://www.netadmintools.com/part295.html
|
||||
|
||||
* Number of system threads.
|
||||
* Windows: http://msdn.microsoft.com/en-us/library/windows/desktop/ms684824(v=vs.85).aspx
|
||||
|
||||
* #357: what CPU a process is on.
|
||||
|
||||
* Doc / wiki which compares similarities between UNIX cli tools and psutil.
|
||||
Example:
|
||||
df -a -> psutil.disk_partitions
|
||||
lsof -> psutil.Process.open_files() and psutil.Process.open_connections()
|
||||
killall-> (actual script)
|
||||
tty -> psutil.Process.terminal()
|
||||
who -> psutil.users()
|
||||
|
||||
|
||||
DEBATABLE
|
||||
=========
|
||||
|
||||
* psutil.proc_tree() something which obtains a {pid:ppid, ...} dict for
|
||||
all running processes in one shot. This can be factored out from
|
||||
Process.children() and exposed as a first class function.
|
||||
PROS: on Windows we can take advantage of _psutil_windows.ppid_map()
|
||||
which is faster than iterating over all pids and calling ppid().
|
||||
CONS: examples/pstree.py shows this can be easily done in the user code
|
||||
so maybe it's not worth the addition.
|
||||
|
||||
* advanced cmdline interface exposing the whole API and providing different
|
||||
kind of outputs (e.g. pprinted, colorized, json).
|
||||
|
||||
* [Linux]: process cgroups (http://en.wikipedia.org/wiki/Cgroups). They look
|
||||
similar to prlimit() in terms of functionality but uglier (they should allow
|
||||
limiting per-process network IO resources though, which is great). Needs
|
||||
further reading.
|
||||
|
||||
* Should we expose OS constants (psutil.WINDOWS, psutil.OSX etc.)?
|
||||
|
||||
* Python 3.3. exposed different sched.h functions:
|
||||
http://docs.python.org/dev/whatsnew/3.3.html#os
|
||||
http://bugs.python.org/issue12655
|
||||
http://docs.python.org/dev/library/os.html#interface-to-the-scheduler
|
||||
It might be worth to take a look and figure out whether we can include some
|
||||
of those in psutil.
|
||||
Also, we can probably reimplement wait_pid() on POSIX which is currently
|
||||
implemented as a busy-loop.
|
||||
|
||||
* Certain systems provide CPU times about process children. On those systems
|
||||
Process.cpu_times() might return a (user, system, user_children,
|
||||
system_children) ntuple.
|
||||
* Linux: /proc/{PID}/stat
|
||||
* Solaris: pr_cutime and pr_cstime
|
||||
* FreeBSD: none
|
||||
* OSX: none
|
||||
* Windows: none
|
||||
|
||||
* ...also, os.times() provides 'elapsed' times as well.
|
||||
|
||||
* ...also Linux provides guest_time and cguest_time.
|
||||
|
||||
* Enrich exception classes hierarchy on Python >= 3.3 / post PEP-3151 so that:
|
||||
- NoSuchProcess inherits from ProcessLookupError
|
||||
- AccessDenied inherits from PermissionError
|
||||
- TimeoutExpired inherits from TimeoutError (debatable)
|
||||
See: http://docs.python.org/3/library/exceptions.html#os-exceptions
|
||||
|
||||
* Process.threads() might grow an extra "id" parameter so that it can be
|
||||
used as such:
|
||||
|
||||
>>> p = psutil.Process(os.getpid())
|
||||
>>> p.threads(id=psutil.current_thread_id())
|
||||
thread(id=2539, user_time=0.03, system_time=0.02)
|
||||
>>>
|
||||
|
||||
Note: this leads to questions such as "should we have a custom NoSuchThread
|
||||
exception? Also see issue #418.
|
||||
|
||||
Note #2: this would work with os.getpid() only.
|
||||
psutil.current_thread_id() might be desirable as per issue #418 though.
|
||||
|
||||
* should psutil.TimeoutExpired exception have a 'msg' kwarg similar to
|
||||
NoSuchProcess and AccessDenied? Not that we need it, but currently we
|
||||
cannot raise a TimeoutExpired exception with a specific error string.
|
||||
|
||||
* process_iter() might grow an "attrs" parameter similar to Process.as_dict()
|
||||
invoke the necessary methods and include the results into a "cache"
|
||||
attribute attached to the returned Process instances so that one can avoid
|
||||
catching NSP and AccessDenied:
|
||||
for p in process_iter(attrs=['cpu_percent']):
|
||||
print(p.cache['cpu_percent'])
|
||||
This also leads questions as whether we should introduce a sorting order.
|
||||
|
||||
* round Process.memory_percent() result?
|
||||
|
||||
* #550: number of threads per core.
|
||||
|
||||
* Have psutil.Process().cpu_affinity([]) be an alias for "all CPUs"?
|
||||
|
||||
|
||||
COMPATIBILITY BREAKAGE
|
||||
======================
|
||||
|
||||
Removals (will likely happen in 2.2):
|
||||
|
||||
* (S) psutil.Process.nice (deprecated in 0.5.0)
|
||||
* (S) get_process_list (deprecated in 0.5.0)
|
||||
* (S) psutil.*mem* functions (deprecated in 0.3.0 and 0.6.0)
|
||||
* (M) psutil.network_io_counters (deprecated in 1.0.0)
|
||||
* (M) local_address and remote_address Process.connection() namedtuple fields
|
||||
(deprecated in 1.0.0)
|
||||
|
||||
|
||||
REJECTED IDEAS
|
||||
==============
|
||||
|
||||
STUB
|
||||
Loading…
Add table
Add a link
Reference in a new issue