New Dstat developments

Submitted by dag on Fri, 2009/11/20 - 23:50

With the opportunity to talk at the first Japan Linux Symposium came renewed interest to look at what improvements I could make to Dstat that would be worthwhile to get more people involved.

Dstat doesn't lack users, it lacks system engineers writing interesting plugins for cases they have encountered. In a desperate ploy to get more contributors, I simplified some of the internals (functions, variables and object methods). So the upcoming Dstat 0.7.0 release will ship with a (not so) different plugin API that I hope is easier.

A second change is how users can use Dstat to execute external plugins. One thing that always bothered me was that external plugins had to be referenced with the option, eg. -M top_cpu. With the latest changes it became an "equal opportunity" player: plugins now simply can be referenced using the plugin name, eg --top-cpu as one would expect.

For those users using white background terminals, I added a seperate --bw (or --blackonwhite) option. We could probably improve the theme used for it, but I hope a Dstat user can provide me with a good color-set to use on white background terminals.

And the most important change from a usability point of view is a set of new useful plugins that show top latency and "timeslice" processes. Showing in milliseconds how much time the top process is spending CPU time (usage) and waiting for CPU time (latency). Both the total amount per second, and the average length. This brings:

  • --top-latency
  • --top-latency-avg
  • --top-cputime
  • --top-cputime-avg

Another new plugin I wrote today is the long anticipated disk utilization plugin. This plugin shows the percentage of disk utilization much like iostat does. It helps you determine whether certain performance issues are I/O bound (caused by I/O bottlenecks) if CPU iowait wasn't convincing.

  • --disk-util

There are some other new plugins, showing the total number of processes, the I/O consumption per OpenVZ container and the remaining battery time.

That's it for now, there's another important change in the pipeline but I will come back to that later next week when I do the Dstat 0.7.0 release. For those that cannot wait, please provide me feedback (even if you don't have any problems) so that I feel more confident about the release I am about to make :-)

A complete set of changes is available from the ChangeLog in subversion.

Enjoy, and thanks in advance for feedback !