1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/python/psutil/TODO Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,95 @@ 1.4 +TODO 1.5 +==== 1.6 + 1.7 +A collection of ideas and notes about stuff to implement in future versions. 1.8 +"#NNN" occurrences refer to bug tracker issues at: 1.9 +https://code.google.com/p/psutil/issues/list 1.10 + 1.11 + 1.12 +HIGHER PRIORITY 1.13 +=============== 1.14 + 1.15 + * #387: system-wide connections (netstat). 1.16 + * OpenBSD support. 1.17 + 1.18 + * #371: CPU temperature (apparently OSX and Linux only; on Linux it requires 1.19 + lm-sensors lib). 1.20 + 1.21 + * #250: net ifaces speed. 1.22 + 1.23 + * (Linux) resource limit get/set - see man prlimit. 1.24 + 1.25 + * Process.name on Windows is slow: 1.26 + http://stackoverflow.com/questions/6587036/ 1.27 + 1.28 + * Windows binary for Python 3.3 64-bit. 1.29 + 1.30 + * #269: expose network ifaces RX/TW queues. 1.31 + 1.32 + 1.33 +LOWER PRIORITY 1.34 +============== 1.35 + 1.36 + * #355: Android support. 1.37 + 1.38 + * #276: GNU/Hurd support. 1.39 + 1.40 + * NetBSD support? 1.41 + 1.42 + * DranflyBSD support? 1.43 + 1.44 + * AIX support? 1.45 + 1.46 + * examples/pidof.py (same as 'pidof' cli tool) 1.47 + 1.48 + * examples/pstree.py (same as 'pstree' cli tool) 1.49 + * get_threads() should also return thread names in order to implement it 1.50 + 1.51 + * examples/taskmgr-gui.py (using tk). 1.52 + 1.53 + * system-wide # open file descriptors: 1.54 + * https://jira.hyperic.com/browse/SIGAR-30 1.55 + * http://www.netadmintools.com/part295.html 1.56 + 1.57 + * Number of system threads. 1.58 + * Windows: http://msdn.microsoft.com/en-us/library/windows/desktop/ms684824(v=vs.85).aspx 1.59 + 1.60 + * #357: what CPU a process is on. 1.61 + 1.62 + * thread names: 1.63 + * https://code.google.com/p/plcrashreporter/issues/detail?id=65 1.64 + 1.65 + 1.66 +DEBATABLE 1.67 +========= 1.68 + 1.69 + * [Linux]: process cgroups (http://en.wikipedia.org/wiki/Cgroups). They look 1.70 + similar to prlimit() in terms of functionality but uglier (they should allow 1.71 + limiting per-process network IO resources though, which is great). Needs 1.72 + further reading. 1.73 + 1.74 + * cpu_percent(): current default interval is 0.1 so that by default it will 1.75 + produce a meaningful value. It represents a trap in case the user iterates 1.76 + over multiple processes though, as it introduces a big slowdown. 1.77 + Should it default to 0.0? 1.78 + 1.79 + * Rename connection ntuple's fields 'local_address', 'remote_address' to 1.80 + 'laddr', 'raddr' (note in accordance with http://bugs.python.org/issue17675) 1.81 + 1.82 + * Process per-cpus percent (XXX Windows only?), see: 1.83 + https://groups.google.com/forum/?fromgroups#!topic/psutil/ErrKTxAbu50 1.84 + 1.85 + * Should we expose OS constants (psutil.WINDOWS, psutil.OSX etc.)? 1.86 + 1.87 + * Python 3.3. exposed different sched.h functions: 1.88 + http://docs.python.org/dev/whatsnew/3.3.html#os 1.89 + http://bugs.python.org/issue12655 1.90 + http://docs.python.org/dev/library/os.html#interface-to-the-scheduler 1.91 + It might be worth to take a look and figure out whether we can include some 1.92 + of those in psutil. 1.93 + Also, we can probably reimplement wait_pid() on POSIX which is currently 1.94 + implemented as a busy-loop. 1.95 + 1.96 + * Certain systems (XXX figure out which ones exactly) provide CPU times about 1.97 + process children. On those systems Process.get_cpu_times() might return 1.98 + a (user, system, user_children, system_children) ntuple.