Hi Charles, We have done something similar to this with the cpu accounting. The option is --cpu=TYPE (There is also hidden key '%' on the tty output which toggles between different display modes). If this patch will be taken I think we should be consistent. Maybe something like --io=TYPE or --memory=TYPE.
Umut On Fri, May 22, 2015 at 11:56 PM, Charles Duffy <char...@dyfis.net> wrote: > From: Charles Duffy <chadu...@cisco.com> > > --- > src/cgtop/cgtop.c | 28 ++++++++++++++++++++++------ > 1 file changed, 22 insertions(+), 6 deletions(-) > > diff --git a/src/cgtop/cgtop.c b/src/cgtop/cgtop.c > index a390cf3..0dbac7f 100644 > --- a/src/cgtop/cgtop.c > +++ b/src/cgtop/cgtop.c > @@ -62,6 +62,7 @@ typedef struct Group { > static unsigned arg_depth = 3; > static unsigned arg_iterations = 0; > static bool arg_batch = false; > +static bool arg_raw = false; > static usec_t arg_delay = 1*USEC_PER_SEC; > > static enum { > @@ -533,15 +534,24 @@ static int display(Hashmap *a) { > printf(" %*s", maxtcpu, format_timespan(buffer, > sizeof(buffer), (nsec_t) (g->cpu_usage / NSEC_PER_USEC), 0)); > > if (g->memory_valid) > - printf(" %8s", format_bytes(buffer, sizeof(buffer), > g->memory)); > + if(arg_raw) { > + printf(" %8ld", g->memory); > + } else { > + printf(" %8s", format_bytes(buffer, > sizeof(buffer), g->memory)); > + } > else > fputs(" -", stdout); > > if (g->io_valid) { > - printf(" %8s", > - format_bytes(buffer, sizeof(buffer), > g->io_input_bps)); > - printf(" %8s", > - format_bytes(buffer, sizeof(buffer), > g->io_output_bps)); > + if(arg_raw) { > + printf(" %8ld", g->io_input_bps); > + printf(" %8ld", g->io_output_bps); > + } else { > + printf(" %8s", > + format_bytes(buffer, sizeof(buffer), > g->io_input_bps)); > + printf(" %8s", > + format_bytes(buffer, sizeof(buffer), > g->io_output_bps)); > + } > } else > fputs(" - -", stdout); > > @@ -561,6 +571,7 @@ static void help(void) { > " -c Order by CPU load\n" > " -m Order by memory load\n" > " -i Order by IO load\n" > + " -r Provide raw (not human-readable) > numbers\n" > " --cpu[=TYPE] Show CPU usage as time or percentage > (default)\n" > " -d --delay=DELAY Delay between updates\n" > " -n --iterations=N Run for N iterations before exiting\n" > @@ -583,6 +594,7 @@ static int parse_argv(int argc, char *argv[]) { > { "delay", required_argument, NULL, 'd' }, > { "iterations", required_argument, NULL, 'n' }, > { "batch", no_argument, NULL, 'b' }, > + { "raw", no_argument, NULL, 'r' }, > { "depth", required_argument, NULL, ARG_DEPTH }, > { "cpu", optional_argument, NULL, ARG_CPU_TYPE}, > {} > @@ -594,7 +606,7 @@ static int parse_argv(int argc, char *argv[]) { > assert(argc >= 1); > assert(argv); > > - while ((c = getopt_long(argc, argv, "hptcmin:bd:", options, NULL)) > >= 0) > + while ((c = getopt_long(argc, argv, "hptcmin:brd:", options, NULL)) > >= 0) > > switch (c) { > > @@ -649,6 +661,10 @@ static int parse_argv(int argc, char *argv[]) { > arg_batch = true; > break; > > + case 'r': > + arg_raw = true; > + break; > + > case 'p': > arg_order = ORDER_PATH; > break; > -- > 2.0.0 > > _______________________________________________ > systemd-devel mailing list > systemd-devel@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/systemd-devel _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel