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