#!/bin/sh
#
# Plugin to monitor swap IO in number of blocks per second.
#
# Parameters:
#
# 	config   (required)
# 	autoconf (optional - used by munin-config)
#
# $Log: swap.in,v $
# Revision 1.1.1.1  2006/06/04 20:53:57  he
# Import the client version of the Munin system monitoring/graphing
# tool -- project homepage is at http://munin.sourceforge.net/
#
# This package has added support for NetBSD, via a number of new plugin
# scripts where specific steps needs to be taken to collect information.
#
# I also modified the ntp_ plugin script to make it possible to not
# plot the NTP poll delay, leaving just jitter and offset, which IMO
# produces a more telling graph.
#
#
#
#
# Magic markers (used by munin-config and some installation scripts (i.e.
# optional)):
#
#%# family=auto
#%# capabilities=autoconf



if [ "$1" = "autoconf" ]; then
    if [ -x /usr/bin/vmstat ]; then
        /usr/bin/vmstat -s | grep 'swap ins' > /dev/null
    	if [ $? = "0" ]; then
	    	echo yes
    		exit 0
    	else
		echo no
		exit 1
	fi
    else
        echo no
        exit 1
    fi
fi

if [ "$1" = "config" ]; then

	echo 'graph_title Swap in/out'
	echo 'graph_args -l 0 --base 1000'
	echo 'graph_vlabel pages per ${graph_period} in (-) / out (+)'
	echo 'graph_category system'
	echo 'graph_info This graph shows the swap activity of the system.'

	echo 'swap_in.label swap'
	echo 'swap_in.type DERIVE'
	echo 'swap_in.min 0'
	echo 'swap_in.max 100000'
	echo 'swap_in.graph no'

	echo 'swap_out.label swap'
	echo 'swap_out.type DERIVE'
	echo 'swap_out.min 0'
	echo 'swap_out.max 100000'
	echo 'swap_out.negative swap_in'
	exit 0
fi

vmstat -s | awk '
/swap ins$/  { print "swap_in.value " $1; }
/swap outs$/ { print "swap_out.value " $1; }
'
