Sophie

Sophie

distrib > Altlinux > 4.1 > i586 > by-pkgid > 9bc9ffd372de759fe7b29b9a8fdeb456 > files > 6

dstat-0.6.6-alt1.1.M41.1.noarch.rpm

### Disclaimer
This is my TODO list. If you're interested in one of these features, there
are 2 options. Either wait for someone to implement it or sponsor someone
to implement it.

If you want to implement something, please contact me first so that we can
discuss acceptable implementations. In some cases I haven't thought about
it too deeply, but for others I know exactly what I require.

If you have other nice ideas that you think would be an improvement, please
contact me as well. :) Send an email to: Dag Wieers <dag@wieers.com>

### Usability
+ Add --config option and use /etc/dstat.conf and ~/.dstat to influence output (see example dstat.conf)
+ Allow to force to given magnitude (--unit=kilo)
+ Look at possibilities to show deviation (on second line ?)
+ Check for dark/light background color and change colors accordingly (see dstat.conf)
+ Show parts of counters in other colors (eg. color the 6 in 6134B in yellow to indicate it's kilobyte)

### Export/Graph
+ Interface with rrdtool (python-rrd ?)
+ Allow for different types of export modules (only CSV now)

### Extending statistics (help welcome!)
+ Add slab plugin (see /proc/slabinfo and slabtop)
+ Add xorg plugin (xdpyinfo, xrestop)
+ Add icmp and ntp plugin ?
+ Add application plugin (-a or -A pid,cmd)
+ Add user plugin (number of users logged on, utmp is not that useful, /proc/key-users)
+ Look into interfacing with apps (bind, sendmail, postfix, squid, amavisd, laus, samba)
+ Look into interfacing with specific HW counters in /proc
+ Look at /proc/meminfo, /proc/mdstat, /proc/netstat, /proc/snmp, /proc/vmstat
+ Look at /proc/fs/cifs/stats
+ Add i2c plugin (see /sys/class/i2c-adapter/i2c-*/*/*/*/*/*)
+ Allow for SNMP counters to be added
+ Add LVM stats
+ Add number of (active) X sessions and X clients

### Documentation (help welcome!)
+ Create document on general system performance tuning
  (explaining the different values in /proc, especially the concerning ones)
+ Create document on general system performance tools
  (explaining the different uses of tools like dstat, iostat, pmap, strace, tcpdump)
+ Comply to PEP8: http://www.python.org/dev/peps/pep-0008/

### General issues
+ Timer is not as accurate on 2.6 kernel as on 2.4, possibly scheduling differences
+ Python 1.5 prints 'L' for long, crashes when int()
+ Implement better (?) protection against counter rollovers (see mail from Sebastien Prud'homme)
+ Plugins currently have to be written in python 1.5 to work for dstat15 (lowest common denominator)
+ When stdout is suspend (Ctrl-S) you get: IOError: [Errno 4] Interrupted system call

### Plugin issues
+ app plugin: reasonably slow
+ app plugin: has problem opening too many files [Errno 24]
+ app plugin: takes second argument when finding known interpreter (is wrong when second argument
+ app plugin: prints ANSI characters to CSV
+ disk plugin: /proc/partitions can have negative numbers, seen on systems with long uptime. dstat handles this except for calculating the very first stat, no work-around possible?
+ proc plugin: (run and blk) does not work on 2.4.24+, to be confirmed
+ proc plugin: seem to be off-by-one compared to vmstat (some of the time, this is what I get from /proc/stat)
+ swap plugin: (new one) is slower than swapold
+ tcp plugin: is very slow and generates lots of softirqs (on busy systems), to be confirmed

### Redesign (v2.0)
+ Create modules that can contain samples of different units

   CPU: (see mpstat)
	sys, usr, idl, iow, hiq, siq (percentage)
      	intr/sec (int)
	
   IO: (see iostat -x)
	tps (int)
	blk_read/sec, blk_wrtn/sec (kB/sec)

+ Design proper object model and namespace for _all_ possible stats
+ Create a seperate curses-based tool, much like nmon (dstat stays line-based)
+ Create client/server monitoring tool