mirror of
https://github.com/munin-monitoring/contrib.git
synced 2018-11-08 00:59:34 +01:00
Initial version
This commit is contained in:
parent
6355d3d23b
commit
b096ad6d86
89
plugins/other/consumed_cpu_cycles
Executable file
89
plugins/other/consumed_cpu_cycles
Executable file
@ -0,0 +1,89 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Copyright (C) 2006 Jens Schanz
|
||||||
|
#
|
||||||
|
# Plugin to monitor the consumed CPU cycles of an uncapped LPAR
|
||||||
|
# on a power5 system for linux
|
||||||
|
#
|
||||||
|
# Parameters:
|
||||||
|
#
|
||||||
|
# config (required)
|
||||||
|
# autoconf (optional - used by munin-config)
|
||||||
|
#
|
||||||
|
# $Log: lop5-consumed_cpu_cycles.sh,v $
|
||||||
|
# Revision 1.1 2006/12/08 10:08:33 schanz
|
||||||
|
# *** empty log message ***
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# Revision 1.0 20.11.2006 - first build
|
||||||
|
#
|
||||||
|
# If you have any suggestions, questions, or enhancements, feel free to email
|
||||||
|
# me at mail@jensschanz.de
|
||||||
|
#
|
||||||
|
# Let's go ...
|
||||||
|
#
|
||||||
|
# Magick markers (optional - used by munin-config and some installation
|
||||||
|
# scripts):
|
||||||
|
#%# family=auto
|
||||||
|
#%# capabilities=autoconf
|
||||||
|
|
||||||
|
LPARCFG=/proc/ppc64/lparcfg
|
||||||
|
|
||||||
|
# STATEFILE=/var/lib/munin/plugin-state/power5-consumed_cpu_cycles.state
|
||||||
|
STATEFILE=/tmp/power5-consumed_cpu_cycles.state
|
||||||
|
# check input parameters
|
||||||
|
if [ "$1" = "autoconf" ]; then
|
||||||
|
echo yes
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$1" = "config" ]; then
|
||||||
|
echo 'graph_title Consumed CPU cycles'
|
||||||
|
echo 'graph_args -l 0'
|
||||||
|
echo 'graph_category Power5'
|
||||||
|
echo 'graph_vlabel CPU cycles'
|
||||||
|
echo 'graph_info This graph shows the CPU cycles on an uncapped LPAR'
|
||||||
|
|
||||||
|
echo 'cpuCycles.label used CPU cycles'
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# let's do the main job
|
||||||
|
|
||||||
|
# get cpus in partition
|
||||||
|
unset LANG
|
||||||
|
|
||||||
|
# get actual time
|
||||||
|
ACTUALTIME=`date +%s`;
|
||||||
|
|
||||||
|
# get old time
|
||||||
|
if [ -f $STATEFILE ]; then
|
||||||
|
OLDTIME=`cat $STATEFILE | grep OLDTIME | awk -F = '{print $2}'`;
|
||||||
|
else
|
||||||
|
echo "OLDTIME = $ACTUALTIME" > $STATEFILE;
|
||||||
|
OLDTIME=$ACTUALTIME;
|
||||||
|
fi
|
||||||
|
|
||||||
|
# get timebase
|
||||||
|
TIMEBASE=`cat /proc/cpuinfo | grep timebase | awk -F : '{print $2}'`;
|
||||||
|
|
||||||
|
# get actual purr
|
||||||
|
ACTUALPURR=`cat $LPARCFG| grep purr | awk -F = '{print $2}'`;
|
||||||
|
|
||||||
|
# get old purr
|
||||||
|
if [ -f $STATEFILE ]; then
|
||||||
|
OLDPURR=`cat $STATEFILE | grep OLDPURR | awk -F = '{print $2}'`;
|
||||||
|
else
|
||||||
|
echo "OLDPURR = $ACTUALPURR" >> $STATEFILE;
|
||||||
|
OLDPURR=$ACTUALPURR;
|
||||||
|
fi
|
||||||
|
|
||||||
|
# calcualte CPU cycles
|
||||||
|
CPUCYCLES=$(echo $OLDPURR $ACTUALPURR $TIMEBASE $OLDTIME $ACTUALTIME | awk '{printf ("%.1f", (($1-$2)/$3)/($4-$5));}');
|
||||||
|
|
||||||
|
# write data to state file
|
||||||
|
echo "OLDTIME = $ACTUALTIME" > $STATEFILE;
|
||||||
|
echo "OLDPURR = $ACTUALPURR" >> $STATEFILE;
|
||||||
|
|
||||||
|
echo "cpuCycles.value $CPUCYCLES"
|
Loading…
Reference in New Issue
Block a user