BEGIN {
file="jobserv-query.lite 'select jobid,status from jobs order by jobid'";
file | getline cnt;
pos = 0;
jobno = 0;
while ((file | getline) > 0)
{
if ($0 == "")
{
pos = 0;
status = int(entry[1]);
if (match(entry[0],/^[a-zA-Z_]+[0-9]+$/))
{
match(entry[0],/^[a-zA-Z_]+/);
name=substr(entry[0],RSTART,RLENGTH);
if (!(name in job) )
{
jobname[jobno] = name;
jobno ++;
}
job[name]++;
jobs ++;
if (status==1)
{
jobw[name]++;
work ++;
}
else if (status==2)
{
jobd[name]++;
done ++;
}
else
{
jobf[name]++;
free ++;
}
}
else
{
ojobs ++;
if (status==1) owork ++;
else if (status==2) odone ++;
else ofree ++;
}
}
else
{
entry[pos++] = substr($0,2);
}
}
close (file);
print "There is a total of " jobs " functions.
\n"
printf ("%4d (%.2f%%) are still todo.
\n", free, free*100.0/jobs);
printf ("%4d (%.2f%%) are currently in work.
\n", work, work*100.0/jobs);
printf ("%4d (%.2f%%) are completed.
\n", done, done*100.0/jobs); print "
| Job | Count | Todo | In work | Completed | %s | %d | %.2f%% | %.2f%% | %.2f%% | \n", name, job[name], jobf[name]*100.0/job[name], jobw[name]*100.0/job[name], jobd[name]*100.0/job[name]); } print "
|---|
"
print "There is a total of " ojobs " other things.
\n"
printf ("%4d (%.2f%%) are still todo.
\n", ofree, ofree*100.0/ojobs);
printf ("%4d (%.2f%%) are currently in work.
\n", owork, owork*100.0/ojobs);
printf ("%4d (%.2f%%) are completed.
\n", odone, odone*100.0/ojobs); }