#!/bin/bash
#
# Put something along those lines into your munin-node config
#
# [filebin_stats]
# env.mysqlopts --defaults-file=/var/lib/munin/.my.cnf
# env.database filebin

case $1 in
        config)
                cat <<'EOM'
graph_title FileBin
graph_args --base 1024 --logarithmic --units=si
graph_vlabel Space
used.label Storage used
dedup.label Storage saved by deduplication
EOM
                exit 0;;
esac

echo -n "used.value "
mysql $mysqlopts -sr $database <<<"select coalesce(sum(filesize), 0) as 'Used storage' from file_storage;" || echo "a"

echo -n "dedup.value "
mysql $mysqlopts -sr $database <<<"select coalesce(sum((c - 1) * sub.filesize), 0) 'Space saved by deduplication' from (select fs.id, filesize, count(*) c from files join file_storage fs on fs.id = files.file_storage_id group by fs.id having c > 1 order by c) sub;" || echo "a"