summaryrefslogtreecommitdiff
path: root/files/plugins/xen_vm
diff options
context:
space:
mode:
authorMarcel Haerry <haerry@puzzle.ch>2011-08-04 10:22:48 +0200
committerMarcel Haerry <haerry@puzzle.ch>2011-08-04 10:22:48 +0200
commit447041b01494690975d078776a85f4a3fd4e64fa (patch)
tree0d09932e8466de8208144aa034de401398151ca6 /files/plugins/xen_vm
parent553fbe3e1d3c6865172c1db8cf93d69fb936dc18 (diff)
parenteb953716cd545f86972e85d983b5862c194f5aed (diff)
merge with immerda/master
Diffstat (limited to 'files/plugins/xen_vm')
-rw-r--r--files/plugins/xen_vm7
1 files changed, 6 insertions, 1 deletions
diff --git a/files/plugins/xen_vm b/files/plugins/xen_vm
index a0dc0b7..a69b5fe 100644
--- a/files/plugins/xen_vm
+++ b/files/plugins/xen_vm
@@ -45,6 +45,11 @@
XM="/usr/sbin/xm"
+# we cache xm list for 5 min for perfomance reasons
+((find /var/lib/munin/plugin-state/xm_list.state -mmin -5 2>&1 | grep -qE '^\/var\/lib\/munin\/plugin-state\/xm_list\.state$') && \
+ [ `cat /var/lib/munin/plugin-state/xm_list.state | wc -l` -gt 1 ]) || \
+ /usr/sbin/xm list | grep -v "^Name .* Console$" > /var/lib/munin/plugin-state/xm_list.state
+
if [ "$1" = "autoconf" ]; then
echo yes
exit 0
@@ -61,7 +66,7 @@ if [ "$1" = "config" ]; then
exit 0
fi
-domains=`$XM list | wc -l`
+domains=`cat /var/lib/munin/plugin-state/xm_list.state | wc -l`
echo -n "domains.value "
echo $(($domains-2))