diff options
Diffstat (limited to 'hosts/jenkins/etc/munin/plugins/jenkins_builds')
-rwxr-xr-x | hosts/jenkins/etc/munin/plugins/jenkins_builds | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/hosts/jenkins/etc/munin/plugins/jenkins_builds b/hosts/jenkins/etc/munin/plugins/jenkins_builds new file mode 100755 index 00000000..3010e393 --- /dev/null +++ b/hosts/jenkins/etc/munin/plugins/jenkins_builds @@ -0,0 +1,64 @@ +#!/bin/sh +# -*- sh -*- + +: << =cut + +=head1 NAME + +jenkins_builds - Plugin to measure number of jenkins builds + +=head1 AUTHOR + +Contributed by Holger Levsen + +=head1 LICENSE + +GPLv2 + +=head1 MAGIC MARKERS + + #%# family=auto + #%# capabilities=autoconf + +=cut + +. $MUNIN_LIBDIR/plugins/plugin.sh + +if [ "$1" = "autoconf" ]; then + echo yes + exit 0 +fi + +STATEFILE=$MUNIN_PLUGSTATE/$(basename $0) + +# delete statefile if it's older than ${jenkins_update_interval} set in /etc/munin/plugin-conf.d/jenkins +if test $(find $STATEFILE -mmin +${jenkins_update_interval}) ; then + rm -f $STATEFILE +fi + +if [ -f $STATEFILE ] && [ "$1" = "" ] ; then + cat $STATEFILE + exit 0 +fi + +JOB_PREFIXES=$(ls -1 /var/lib/jenkins/jobs/|cut -d "_" -f1|sort -f -u) +if [ "$1" = "config" ]; then + echo 'graph_title Jenkins Builds in the last 24h' + echo 'graph_args --base 1000 -l 0 ' + echo 'graph_scale no' + echo 'graph_total total' + echo 'graph_vlabel Jenkins Builds per category in the last 24h' + echo 'graph_category jenkins' + draw=AREA + for PREFIX in $JOB_PREFIXES ; do + echo "jenkins_builds_$PREFIX.label $PREFIX builds" + echo "jenkins_builds_$PREFIX.draw $draw" + if [ "$draw" = "AREA" ] ; then draw=STACK ; fi + done + exit 0 +fi + +for PREFIX in $JOB_PREFIXES ; do + NR=$(find /var/lib/jenkins/jobs/$PREFIX*/builds/ -type d -mtime -1 -name "*_*"| wc -l) + echo "jenkins_builds_$PREFIX.value $NR" | tee -a $STATEFILE +done |