# # format a DAX as readable text # awkprog1=`mktemp /tmp/awk.XXXXXX` awkprog2=`mktemp /tmp/awk.XXXXXX` dax=`mktemp /tmp/dax.XXXXXX` cat > $dax # # -m 12 -q # First find the max level in the dax cat <$awkprog1 BEGIN { maxlevel = 0; } / maxlevel) maxlevel = level; } END { print maxlevel } EOF MAXLEVEL=`awk -f $awkprog1 $dax` echo MAXLEVEL=$MAXLEVEL cat <$awkprog2 /$", "", line); gsub( "\\"", "", line); split(line, nvs, " "); for (i in nvs) { split(nvs[i], nvp, "="); ja[nvp[1]] = nvp[2]; } printf "JOB %s [%d] %s::%s\n", ja["id"], $MAXLEVEL-ja["level"]+1, ja["dv-namespace"], ja["dv-name"] print "\n File usage:\n"; } // { # job = job \$0 "\n"; } /job>/ { print "\n Runtime provenance:\n"; sqlcmd = sprintf( "sq -h \"SELECT i.start, i.duration, exitcode, resource, host FROM ptc_invocation i, ptc_job j where wf_label = '%s' and dv_name = '%s' and j.id = i.id;\"", wfname, ja["dv-name"]); while ((sqlcmd | getline) > 0) printf(" %s\n",\$0); close(sqlcmd); print ""; sqlcmd = sprintf( "sq -h \"SELECT r.* FROM ptc_invocation i, ptc_job j, ptc_rusage r where wf_label = '%s' and dv_name = '%s' and i.id = j.id and j.rusage = r.id;\"", wfname, ja["dv-name"]); while ((sqlcmd | getline) > 0) printf(" %s\n",\$0); close(sqlcmd); print ""; } # /","",fline); # print " " fline; } /