#!/bin/bash for res in /proc/pressure/*; do res_name=$(basename $res) res_name_nice=${res_name@U} res_name_nice=${res_name_nice/MEMORY/Memory} while read line; do for v in $line; do if [[ $v == "some" || $v == "full" ]]; then somefull=$v elif [[ $v == avg* || $v == total* ]]; then timespan=${v%%=*} timespan=${timespan#avg} val=${v#*=} if [[ $timespan == "total" ]]; then timespan_nice="Total" units="usec" else timespan_nice="$timespan Second Average" units="%" fi gmetric --name="psi_${somefull}_${res_name}_${timespan}" --title="PSI ${somefull@u} ${res_name_nice} ${timespan_nice}" --value="$val" --type="float" --group="load" --units="$units" fi done done < "$res" done