#!/bin/bash -e

if [ -z "$1" ]; then
  DIR="/sys/block/[sv]da"
elif [ -d /sys/block/sd$1 ]; then
  DIR="/sys/block/sd$1"
elif [ -d /sys/block/vd$1 ]; then
  DIR="/sys/block/vd$1"
else
  DIR="/sys/block/$1"
fi

export SECTOR_SIZE="`cat $DIR/queue/hw_sector_size`"

convert() {
  echo "read=$3 write=$7 queue=${11}"
}

cat $DIR/stat | awk '{
  max=1048576*1024*100/8
  ss=ENVIRON["SECTOR_SIZE"]
  gsub("  *", " ")
  printf "DISKIO OK - %s|", $0
  printf "read=%dc;;;0;%d ", $3*ss, max
  printf "write=%dc;;;0;%d ", $7*ss, max
  printf "queue=%dms;;;0;%d\n", $11, max
}'

exit 0
