top(1): correct header, align it.
THR is always 6 digits or longer. Now that the PID/THR change is separated, use correct headers. PR: 228823 Reported by: Trond.Endrestol@ximalas.info
This commit is contained in:
parent
263b6e344b
commit
bd2aa50641
@ -94,17 +94,20 @@ static const char io_header[] =
|
||||
static const char io_Proc_format[] =
|
||||
"%5d%*s %-*.*s %6ld %6ld %6ld %6ld %6ld %6ld %6.2f%% %.*s";
|
||||
|
||||
/* XXX: build up header instead of statically defining them.
|
||||
* This will also allow for a "format string" to be supplied
|
||||
* as an argument to top(1) instead of having predefined options */
|
||||
static const char smp_header_thr_and_pid[] =
|
||||
" PID%*s %-*.*s THR PRI NICE SIZE RES%*s STATE C TIME %7s COMMAND";
|
||||
static const char smp_header_tid_only[] =
|
||||
" THR%*s %-*.*s " "PRI NICE SIZE RES%*s STATE C TIME %7s COMMAND";
|
||||
" %s%*s %-*.*s THR PRI NICE SIZE RES%*s STATE C TIME %7s COMMAND";
|
||||
static const char smp_header_id_only[] =
|
||||
" %s%*s %-*.*s PRI NICE SIZE RES%*s STATE C TIME %7s COMMAND";
|
||||
static const char smp_Proc_format[] =
|
||||
"%5d%*s %-*.*s %s%3d %4s%7s %6s%*.*s %-6.6s %2d%7s %6.2f%% %.*s";
|
||||
|
||||
static char up_header_thr_and_pid[] =
|
||||
" PID%*s %-*.*s THR PRI NICE SIZE RES%*s STATE TIME %7s COMMAND";
|
||||
static char up_header_tid_only[] =
|
||||
" THR%*s %-*.*s " "PRI NICE SIZE RES%*s STATE TIME %7s COMMAND";
|
||||
static char up_header_id_only[] =
|
||||
" %s%*s %-*.*s PRI NICE SIZE RES%*s STATE TIME %7s COMMAND";
|
||||
static char up_Proc_format[] =
|
||||
"%5d%*s %-*.*s %s%3d %4s%7s %6s%*.*s %-6.6s%.0d%7s %6.2f%% %.*s";
|
||||
|
||||
@ -425,19 +428,31 @@ format_header(const char *uname_field)
|
||||
switch (displaymode) {
|
||||
case DISP_CPU:
|
||||
/*
|
||||
* The logic of picking the right header format seems reverse
|
||||
* here because we only want to display a THR column when
|
||||
* "thread mode" is off (and threads are not listed as
|
||||
* separate lines).
|
||||
* The logic of picking the right header is confusing, and
|
||||
* depends on too much. We should instead have a struct of
|
||||
* "header name", and "header format" which we build up.
|
||||
* This would also fix the duplicate of effort into up vs smp
|
||||
* mode.
|
||||
*/
|
||||
prehead = smpmode ?
|
||||
(ps.thread_id ? smp_header_tid_only : smp_header_thr_and_pid) :
|
||||
(ps.thread_id ? up_header_tid_only : up_header_thr_and_pid);
|
||||
snprintf(Header, sizeof(Header), prehead,
|
||||
jidlength, ps.jail ? " JID" : "",
|
||||
namelength, namelength, uname_field,
|
||||
swaplength, ps.swap ? " SWAP" : "",
|
||||
ps.wcpu ? "WCPU" : "CPU");
|
||||
if (smpmode) {
|
||||
prehead = ps.thread ?
|
||||
smp_header_id_only : smp_header_thr_and_pid;
|
||||
snprintf(Header, sizeof(Header), prehead,
|
||||
ps.thread_id ? " THR" : "PID",
|
||||
jidlength, ps.jail ? " JID" : "",
|
||||
namelength, namelength, uname_field,
|
||||
swaplength, ps.swap ? " SWAP" : "",
|
||||
ps.wcpu ? "WCPU" : "CPU");
|
||||
} else {
|
||||
prehead = ps.thread ?
|
||||
up_header_id_only : up_header_thr_and_pid;
|
||||
snprintf(Header, sizeof(Header), prehead,
|
||||
ps.thread_id ? " THR" : "PID",
|
||||
jidlength, ps.jail ? " JID" : "",
|
||||
namelength, namelength, uname_field,
|
||||
swaplength, ps.swap ? " SWAP" : "",
|
||||
ps.wcpu ? "WCPU" : "CPU");
|
||||
}
|
||||
break;
|
||||
case DISP_IO:
|
||||
prehead = io_header;
|
||||
|
Loading…
Reference in New Issue
Block a user