add defaults() fn. add --print-config. config loader now fails on error

This commit is contained in:
Patrick Stadler
2015-03-21 21:19:08 +01:00
parent e0a528859f
commit b518c807d1
16 changed files with 232 additions and 125 deletions

View File

@@ -1,6 +1,6 @@
#!/bin/sh
init () {
defaults () {
if [ -z $DISK_IO_MOUNTPOINT ]; then
if is_osx; then
DISK_IO_MOUNTPOINT="disk0"
@@ -8,30 +8,34 @@ init () {
DISK_IO_MOUNTPOINT="/dev/vda"
fi
fi
readonly __disk_io_fifo=$TEMP_DIR/$(unique_id)
mkfifo $__disk_io_fifo
__disk_io_bgproc &
}
if is_osx; then
__disk_io_bgproc () {
iostat -K -d -w $INTERVAL $DISK_IO_MOUNTPOINT | while read line; do
echo $line | awk '{ print $3 }' > $__disk_io_fifo
done
}
else
__disk_io_bgproc () {
iostat -y -m -d $INTERVAL $DISK_IO_MOUNTPOINT | while read line; do
echo $line | awk '/[0-9.]/{ print $3 }' > $__disk_io_fifo
done
}
fi
start () {
readonly __disk_io_fifo=$TEMP_DIR/$(unique_id)
mkfifo $__disk_io_fifo
if is_osx; then
__disk_io_bgproc () {
iostat -K -d -w $INTERVAL $DISK_IO_MOUNTPOINT | while read line; do
echo $line | awk '{ print $3 }' > $__disk_io_fifo
done
}
else
__disk_io_bgproc () {
iostat -y -m -d $INTERVAL $DISK_IO_MOUNTPOINT | while read line; do
echo $line | awk '/[0-9.]/{ print $3 }' > $__disk_io_fifo
done
}
fi
__disk_io_bgproc &
}
collect () {
report $(cat $__disk_io_fifo)
}
terminate () {
stop () {
if [ ! -z $__disk_io_fifo ] && [ -p $__disk_io_fifo ]; then
rm $__disk_io_fifo
fi
@@ -39,5 +43,5 @@ terminate () {
docs () {
echo "Disk I/O in MB/s."
echo "\$DISK_IO_MOUNTPOINT="
echo "DISK_IO_MOUNTPOINT=$DISK_IO_MOUNTPOINT"
}

View File

@@ -1,6 +1,6 @@
#!/bin/sh
init () {
defaults () {
if [ -z $DISK_USAGE_MOUNTPOINT ]; then
if is_osx; then
DISK_USAGE_MOUNTPOINT="/dev/disk1"
@@ -17,5 +17,5 @@ collect () {
docs () {
echo "Disk usage percentage for a file system at a given mount point."
echo "\$DISK_USAGE_MOUNTPOINT="
echo "DISK_USAGE_MOUNTPOINT=$DISK_USAGE_MOUNTPOINT"
}

View File

@@ -1,7 +1,7 @@
#!/bin/sh
if is_osx; then
init () {
start () {
readonly __memory_os_memsize=$(sysctl -n hw.memsize)
}

View File

@@ -1,6 +1,6 @@
#!/bin/sh
init () {
defaults () {
if [ -z $NETWORK_IO_INTERFACE ]; then
if is_osx; then
NETWORK_IO_INTERFACE="en0"
@@ -8,32 +8,35 @@ init () {
NETWORK_IO_INTERFACE="eth0"
fi
fi
readonly __network_io_divisor=$(($INTERVAL * 1024))
}
if is_osx; then
__network_io_collect () {
netstat -b -I $NETWORK_IO_INTERFACE | awk '{ print $7" "$10 }' | tail -n 1
}
else
__network_io_collect () {
cat /proc/net/dev | awk -v iface_regex="$NETWORK_IO_INTERFACE:" \
'$0 ~ iface_regex { print $2" "$10 }'
}
fi
start () {
readonly __network_io_divisor=$(($INTERVAL * 1024))
__network_io_calc_kBps() {
echo $1 $2 | awk -v divisor=$__network_io_divisor \
if is_osx; then
get_netstat () {
netstat -b -I $NETWORK_IO_INTERFACE | awk '{ print $7" "$10 }' | tail -n 1
}
else
get_netstat () {
cat /proc/net/dev | awk -v iface_regex="$NETWORK_IO_INTERFACE:" \
'$0 ~ iface_regex { print $2" "$10 }'
}
fi
calc_kBps() {
echo $1 $2 | awk -v divisor=$__network_io_divisor \
'{ printf "%.2f", ($1 - $2) / divisor }'
}
}
collect () {
local sample
sample=$(__network_io_collect)
sample=$(get_netstat)
if [ ! -z "$__network_io_sample" ]; then
report "in" $(__network_io_calc_kBps $(echo $sample | awk '{print $1}') \
report "in" $(calc_kBps $(echo $sample | awk '{print $1}') \
$(echo $__network_io_sample | awk '{print $1}'))
report "out" $(__network_io_calc_kBps $(echo $sample | awk '{print $2}') \
report "out" $(calc_kBps $(echo $sample | awk '{print $2}') \
$(echo $__network_io_sample | awk '{print $2}'))
fi
__network_io_sample="$sample"
@@ -41,5 +44,5 @@ collect () {
docs () {
echo "Network traffic in kB/s."
echo "\$NETWORK_IO_INTERFACE="
echo "NETWORK_IO_INTERFACE=$NETWORK_IO_INTERFACE"
}

View File

@@ -1,6 +1,6 @@
#!/bin/sh
init () {
start () {
if [ -z $PING_REMOTE_HOST ]; then
echo "Error: ping metric requires \$PING_REMOTE_HOST to be specified"
exit 1
@@ -19,5 +19,5 @@ collect () {
docs () {
echo "Check if remote host is reachable by sending a single ping."
echo "Reports '1' if ping was successful, '0' if not."
echo "\$PING_REMOTE_HOST="
echo "PING_REMOTE_HOST=$PING_REMOTE_HOST"
}