Module Name: src Committed By: kre Date: Sat Jun 18 11:33:13 UTC 2022
Modified Files: src/usr.sbin/iostat: iostat.8 iostat.c Log Message: Significant changes to output layout methods - except for -x and -y which have not (yet) been touched (-xD needs *serious* improvements). While this still has no run-time configurability, it is now easy to adjust the column widths in the source and recompile. Dynamic (auto) column width sizing is probably out of the question (requires predicting the future) but options to allow the widths to be set isn't out of the question. The columns are now (mostly) considerably wider than they were before, hence wider windows are needed to view the same info. In an 80 column window the default display (with tty & cpu included) displays just 2 drives. 160 columns will fit 7 (but with -I, just 4). One new option added (-z) suppresses output which is true 0 (but still prints 0 for values rounded down to 0) for everything except tty stats. For drive output, the drive must have done nothing during the interval to get its output data blanked. Also options -H h -W w to set the output size (page height & width), the former used to decide when to print headers, and the latter to calculate the number of drives to print when no drive names were given. Env vars LINES and COLUMNS are used if the options are not given, with fallback to the terminal size (if output is to a terminal, and its sizes are known), and if all else fails, 20 lines, 80 columns. Specifying 0 means unlimited (infinite). So "iostat -W 0" will show all of the drives, across one (often very) long line. Wedges count as drives. When drives are specified, the output will now appear in the order they were given on the command line, rather than the order the system discovered them during auto-configuration. If specified as an fnmatch(3) pattern, drives that match will appear in auto-conf order, but that's generally what is wanted. When none are specified, you still get the first N (however many fits based upon the options selected) in auto-conf order (usually useless, more so now given that less will fit). Lastly, for those who looked at the patch I sent to current-users@ and were horrified at how kludgey it was, rest assured, that was just a quick hack to demonstrate what the output format changes would look like. This version (I hope) is not nearly so disgusting. To generate a diff of this commit: cvs rdiff -u -r1.27 -r1.28 src/usr.sbin/iostat/iostat.8 cvs rdiff -u -r1.68 -r1.69 src/usr.sbin/iostat/iostat.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.