Thu, 22 Jan 2015 13:21:57 +0100
Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6
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. |