#! /bin/bash
#
# perfmon          Start/Stop the VM/host performance monitor daemon
#
# chkconfig: 2345 95 05
# description: Performance monitoring/alarm generation daemon
# processname: perfmon
# config: /etc/xensource/perfmon.conf
# pidfile: /var/run/perfmon.pid

# Source function library.
. /etc/init.d/functions

PERFMON=/opt/xensource/bin/perfmon
PERFMON_FLAGS=

if [ -f /etc/sysconfig/perfmon ]; then
  . /etc/sysconfig/perfmon
fi

start() {
	echo -n $"Starting perfmon: "

        if [ -e /var/lock/subsys/perfmon ]; then
	    if [ -e /var/run/perfmon.pid ] && [ -e /proc/`cat /var/run/perfmon.pid` ]; then
		echo -n $"cannot start perfmon: already running.";
		failure $"cannot start perfmon: already running.";
		echo
		return 1
	    fi
	fi
	${PERFMON} --daemon ${PERFMON_FLAGS} 

	touch /var/lock/subsys/perfmon
	success
	echo
	return 0
}

stop() {
	echo -n $"Stopping perfmon: "
        if [ ! -e /var/lock/subsys/perfmon ]; then
	    echo -n $"cannot stop perfmon: perfmon is not running."
	    failure $"cannot stop perfmon: perfmon is not running."
	    echo
	    return 1;
	fi

	killproc perfmon
	RETVAL=$?
	echo
	[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/perfmon;
	return $RETVAL
}

restart() {
	stop
	start
}

case "$1" in
  start)
	start
	;;
  stop)
	stop
	;;
  restart)
	restart
	;;
  status)
	rhstatus
	;;
  condrestart)
	[ -f /var/lock/subsys/perfmon ] && restart || :
	;;
  *)
	echo $"Usage: $0 {start|stop|status|restart|condrestart}"
	exit 1
esac
