IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Feb 14, 2010, 12:54:59 PM (16 years ago)
Author:
eugene
Message:

better UI for status

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/opihi/pantasks/TaskOps.c

    r16452 r26946  
    5858
    5959
     60# define getnchars(LEN, MINLEN) { float loglength; loglength = log10(LEN); LEN = ((int)loglength < loglength) ? loglength + 1 : loglength; LEN = (LEN < MINLEN) ? MINLEN : LEN; }
     61
    6062/* list known tasks */
    6163void ListTasks (int verbose) {
    6264
    63   int i, j, valid, nameLength, cmdLength;
     65  int i, j, valid, nameLength, cmdLength, maxJobs, maxRun, maxDone, maxFail, maxTime, Nrun;
    6466  char *start, *stop;
    6567  char format[128];
     
    7375  /* find string lengths */
    7476  nameLength = cmdLength = 0;
     77  maxJobs = maxRun = maxDone = maxFail = maxTime = 0;
    7578  for (i = 0; i < Ntasks; i++) {
    7679    nameLength = MAX (nameLength, strlen(tasks[i][0].name));
     
    8083      cmdLength = MAX (nameLength, strlen(tasks[i][0].argv[0]));
    8184    }
     85    maxJobs = MAX(maxJobs, tasks[i][0].Njobs);
     86    maxDone = MAX(maxDone, tasks[i][0].Nsuccess);
     87    maxFail = MAX(maxFail, tasks[i][0].Nfailure);
     88    maxTime = MAX(maxTime, tasks[i][0].Ntimeout);
     89    maxRun  = MAX(maxRun,  tasks[i][0].Njobs - tasks[i][0].Nsuccess - tasks[i][0].Nfailure - tasks[i][0].Ntimeout);
    8290  }
    8391
    8492  gprint (GP_LOG, " Task Status\n");
    8593
    86   snprintf (format, 128, "  AV %%-%ds %5s  %5s %5s %5s %%-%ds\n", nameLength, "Njobs", "Ngood", "Nfail", "Ntime", cmdLength);
    87   gprint (GP_LOG, format, "Name", "Command");
    88 
    89   snprintf (format, 128, "%%-%ds %%5d  %%5d %%5d %%5d %%-%ds\n", nameLength, cmdLength);
     94  getnchars(maxJobs, 5);
     95  getnchars(maxRun,  5);
     96  getnchars(maxDone, 5);
     97  getnchars(maxFail, 5);
     98  getnchars(maxTime, 5);
     99
     100  snprintf (format, 128, "  AV %%-%ds  %%%ds  %%%ds  %%%ds %%%ds %%%ds %%-%ds\n", nameLength, maxRun, maxJobs, maxDone, maxFail, maxTime, cmdLength);
     101  gprint (GP_LOG, format, "Name", "Nrun", "Njobs", "Ngood", "Nfail", "Ntime", "Command");
     102
     103  snprintf (format, 128, "%%-%ds  %%%dd  %%%dd  %%%dd %%%dd %%%dd %%-%ds\n", nameLength, maxRun, maxJobs, maxDone, maxFail, maxTime, cmdLength);
    90104  for (i = 0; i < Ntasks; i++) {
    91105    valid = CheckTimeRanges (tasks[i][0].ranges, tasks[i][0].Nranges);
     
    101115      gprint (GP_LOG, "- ");
    102116    }
     117    Nrun = tasks[i][0].Njobs - tasks[i][0].Nsuccess - tasks[i][0].Nfailure - tasks[i][0].Ntimeout;
    103118    if (tasks[i][0].argv == NULL) {
    104       gprint (GP_LOG, format, tasks[i][0].name, tasks[i][0].Njobs, tasks[i][0].Nsuccess, tasks[i][0].Nfailure, tasks[i][0].Ntimeout, "(dynamic)");
    105     } else {
    106       gprint (GP_LOG, format, tasks[i][0].name, tasks[i][0].Njobs, tasks[i][0].Nsuccess, tasks[i][0].Nfailure, tasks[i][0].Ntimeout, tasks[i][0].argv[0]);
     119      gprint (GP_LOG, format, tasks[i][0].name, Nrun, tasks[i][0].Njobs, tasks[i][0].Nsuccess, tasks[i][0].Nfailure, tasks[i][0].Ntimeout, "(dynamic)");
     120    } else {
     121      gprint (GP_LOG, format, tasks[i][0].name, Nrun, tasks[i][0].Njobs, tasks[i][0].Nsuccess, tasks[i][0].Nfailure, tasks[i][0].Ntimeout, tasks[i][0].argv[0]);
    107122    }
    108123    if (verbose) {
Note: See TracChangeset for help on using the changeset viewer.