#!/bin/sh

#%# family=auto
#%# capabilities=autoconf

PRSTAT=/usr/bin/prstat
PRSTAT_OPTS="-Z 1 1"

if [ "$1" = 'autoconf' ]; then
        if [ -f $PRSTAT ]; then
		zones=`/usr/sbin/zoneadm list | wc -l`
		if [ $zones -gt 1 ]; then
			echo yes
		else
			echo yes
		fi
                exit 0
        else
                echo no
                exit 1
        fi
fi

if [ "$1" = 'config' ]; then
        echo 'graph_title zone memory usage'
        echo 'graph_args --upper-limit 100'
	echo 'graph_category system'
	stack=AREA
        $PRSTAT $PRSTAT_OPTS | sed '1,/^ZONEID/d' | grep -v '^Total' | while read i; do
		oIFS="$IFS"
		IFS=' 
'
		set -$- $i
		name=$1
		label=$8
                printf "$name.label $label\n$name.draw $stack\n$name.warn 95\n"
		IFS="$oIFS"
		stack=STACK
        done
        exit 0
fi


# ZONEID    NPROC  SWAP   RSS MEMORY      TIME  CPU ZONE                        $
#      0       48  470M  482M   1.5%   4:05:57 0.0% global                      $
#      3       85 2295M 2369M   7.2%   0:36:36 0.0% pearljam                    $
#      6       74   13G 3273M    10%  16:51:18 0.0% ministry                    $
# Total: 207 processes, 709 lwps, load averages: 0.05, 0.06, 0.11$

$PRSTAT $PRSTAT_OPTS | sed '1,/^ZONEID/d' | grep -v '^Total' | while read i; do
	oIFS="$IFS"
	IFS='% 
'
	set -$- $i
	name=$1
	value=$5
	printf "$name.value $value\n"
	IFS="$oIFS"
done
