python/psutil/TODO

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

michael@0 1 TODO
michael@0 2 ====
michael@0 3
michael@0 4 A collection of ideas and notes about stuff to implement in future versions.
michael@0 5 "#NNN" occurrences refer to bug tracker issues at:
michael@0 6 https://code.google.com/p/psutil/issues/list
michael@0 7
michael@0 8
michael@0 9 HIGHER PRIORITY
michael@0 10 ===============
michael@0 11
michael@0 12 * #387: system-wide connections (netstat).
michael@0 13 * OpenBSD support.
michael@0 14
michael@0 15 * #371: CPU temperature (apparently OSX and Linux only; on Linux it requires
michael@0 16 lm-sensors lib).
michael@0 17
michael@0 18 * #250: net ifaces speed.
michael@0 19
michael@0 20 * (Linux) resource limit get/set - see man prlimit.
michael@0 21
michael@0 22 * Process.name on Windows is slow:
michael@0 23 http://stackoverflow.com/questions/6587036/
michael@0 24
michael@0 25 * Windows binary for Python 3.3 64-bit.
michael@0 26
michael@0 27 * #269: expose network ifaces RX/TW queues.
michael@0 28
michael@0 29
michael@0 30 LOWER PRIORITY
michael@0 31 ==============
michael@0 32
michael@0 33 * #355: Android support.
michael@0 34
michael@0 35 * #276: GNU/Hurd support.
michael@0 36
michael@0 37 * NetBSD support?
michael@0 38
michael@0 39 * DranflyBSD support?
michael@0 40
michael@0 41 * AIX support?
michael@0 42
michael@0 43 * examples/pidof.py (same as 'pidof' cli tool)
michael@0 44
michael@0 45 * examples/pstree.py (same as 'pstree' cli tool)
michael@0 46 * get_threads() should also return thread names in order to implement it
michael@0 47
michael@0 48 * examples/taskmgr-gui.py (using tk).
michael@0 49
michael@0 50 * system-wide # open file descriptors:
michael@0 51 * https://jira.hyperic.com/browse/SIGAR-30
michael@0 52 * http://www.netadmintools.com/part295.html
michael@0 53
michael@0 54 * Number of system threads.
michael@0 55 * Windows: http://msdn.microsoft.com/en-us/library/windows/desktop/ms684824(v=vs.85).aspx
michael@0 56
michael@0 57 * #357: what CPU a process is on.
michael@0 58
michael@0 59 * thread names:
michael@0 60 * https://code.google.com/p/plcrashreporter/issues/detail?id=65
michael@0 61
michael@0 62
michael@0 63 DEBATABLE
michael@0 64 =========
michael@0 65
michael@0 66 * [Linux]: process cgroups (http://en.wikipedia.org/wiki/Cgroups). They look
michael@0 67 similar to prlimit() in terms of functionality but uglier (they should allow
michael@0 68 limiting per-process network IO resources though, which is great). Needs
michael@0 69 further reading.
michael@0 70
michael@0 71 * cpu_percent(): current default interval is 0.1 so that by default it will
michael@0 72 produce a meaningful value. It represents a trap in case the user iterates
michael@0 73 over multiple processes though, as it introduces a big slowdown.
michael@0 74 Should it default to 0.0?
michael@0 75
michael@0 76 * Rename connection ntuple's fields 'local_address', 'remote_address' to
michael@0 77 'laddr', 'raddr' (note in accordance with http://bugs.python.org/issue17675)
michael@0 78
michael@0 79 * Process per-cpus percent (XXX Windows only?), see:
michael@0 80 https://groups.google.com/forum/?fromgroups#!topic/psutil/ErrKTxAbu50
michael@0 81
michael@0 82 * Should we expose OS constants (psutil.WINDOWS, psutil.OSX etc.)?
michael@0 83
michael@0 84 * Python 3.3. exposed different sched.h functions:
michael@0 85 http://docs.python.org/dev/whatsnew/3.3.html#os
michael@0 86 http://bugs.python.org/issue12655
michael@0 87 http://docs.python.org/dev/library/os.html#interface-to-the-scheduler
michael@0 88 It might be worth to take a look and figure out whether we can include some
michael@0 89 of those in psutil.
michael@0 90 Also, we can probably reimplement wait_pid() on POSIX which is currently
michael@0 91 implemented as a busy-loop.
michael@0 92
michael@0 93 * Certain systems (XXX figure out which ones exactly) provide CPU times about
michael@0 94 process children. On those systems Process.get_cpu_times() might return
michael@0 95 a (user, system, user_children, system_children) ntuple.

mercurial