2016-10-23 10:36:35 +02:00
|
|
|
#!/bin/sh
|
2016-08-08 13:54:11 +02:00
|
|
|
|
|
|
|
# Graphs the number of running and waiting jobs, as well as when they
|
|
|
|
# are submitted.
|
|
|
|
#
|
|
|
|
# Tested with Son of Gridengine.
|
|
|
|
|
|
|
|
if [ "$1" = "config" ]
|
|
|
|
then
|
|
|
|
echo graph_title SGE gridengine jobs
|
|
|
|
echo graph_vlabel count
|
|
|
|
echo graph_category processes
|
|
|
|
echo running.label Running jobs
|
|
|
|
echo running.type GAUGE
|
|
|
|
echo running.draw AREA
|
|
|
|
echo waiting.label Queued jobs
|
|
|
|
echo waiting.type GAUGE
|
|
|
|
echo waiting.draw STACK
|
|
|
|
echo maxnum.label Submitted jobs
|
|
|
|
echo maxnum.type DERIVE
|
|
|
|
echo maxnum.draw LINE2
|
|
|
|
echo maxnum.min 0
|
|
|
|
|
|
|
|
exit 0
|
|
|
|
fi
|
|
|
|
|
2016-10-23 10:36:58 +02:00
|
|
|
SGE_SETTINGS=${SGE_SETTINGS:-/opt/sge/default/common/settings.sh}
|
|
|
|
|
|
|
|
. $SGE_SETTINGS
|
2016-08-08 13:54:11 +02:00
|
|
|
|
|
|
|
qstat -u '*' | awk '
|
|
|
|
BEGIN{maxnum = 0; running = 0; waiting = 0}
|
|
|
|
/^ /{
|
|
|
|
maxnum = (maxnum > $1 ? maxnum : $1);
|
|
|
|
if ( $5 == "r" ) {
|
|
|
|
running += 1;
|
|
|
|
} else {
|
|
|
|
waiting += 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
END { printf("running.value %d\nwaiting.value %d\nmaxnum.value %d\n", running, waiting, maxnum); }'
|