fprintf(stderr, _("Usage: %s [ options ] [ <interval> [ <count> ] ]\n"),
progname);
fprintf(stderr, _("Options are:\n"
- "[ -k | -m ] [ -t ] [ -V ] [ -y ] [ -z ]\n"));
+ "[ --human ] [ -k | -m ] [ -t ] [ -V ] [ -y ] [ -z ]\n"));
exit(1);
}
cprintf_u64(-1, 2, 7,
tape->reads_per_second,
tape->writes_per_second);
- cprintf_u64(-1, 2, 11,
- tape->kbytes_read_per_second / divisor,
- tape->kbytes_written_per_second / divisor);
+ cprintf_u64(DISPLAY_UNIT(flags) ? 2 : -1, 2, 11,
+ DISPLAY_UNIT(flags) ? tape->kbytes_read_per_second
+ : tape->kbytes_read_per_second / divisor,
+ DISPLAY_UNIT(flags) ? tape->kbytes_written_per_second
+ : tape->kbytes_written_per_second / divisor);
cprintf_pc(3, 3, 0,
(double) tape->read_pct_wait,
(double) tape->write_pct_wait,
/* Process args... */
while (opt < argc) {
- if (!strncmp(argv[opt], "-", 1)) {
+
+ if (!strcmp(argv[opt], "--human")) {
+ flags |= T_D_UNIT;
+ opt++;
+ }
+
+ else if (!strncmp(argv[opt], "-", 1)) {
for (i = 1; *(argv[opt] + i); i++) {
switch (*(argv[opt] + i)) {
#define T_D_OMIT_SINCE_BOOT 0x00008
#define T_D_ISO 0x00010
#define T_D_ZERO_OMIT 0x00020
+#define T_D_UNIT 0x00040
#define DISPLAY_TIMESTAMP(m) (((m) & T_D_TIMESTAMP) == T_D_TIMESTAMP)
#define DISPLAY_KILOBYTES(m) (((m) & T_D_KILOBYTES) == T_D_KILOBYTES)
#define DISPLAY_OMIT_SINCE_BOOT(m) (((m) & T_D_OMIT_SINCE_BOOT) == T_D_OMIT_SINCE_BOOT)
#define DISPLAY_ISO(m) (((m) & T_D_ISO) == T_D_ISO)
#define DISPLAY_ZERO_OMIT(m) (((m) & T_D_ZERO_OMIT) == T_D_ZERO_OMIT)
-
+#define DISPLAY_UNIT(m) (((m) & T_D_UNIT) == T_D_UNIT)
#define TAPE_STATS_VALID 1
#define TAPE_STATS_INVALID 0