#!/bin/bash

# ECC memory error count
# only if we have ECC memory and EDAC is enabled
if [[ -e /sys/devices/system/edac ]]; then
	# loop over memory controllers
	correctable_errors=0
	uncorrectable_errors=0
	for mc in /sys/devices/system/edac/mc/mc*; do
		correctable_errors=$(($correctable_errors + $(cat $mc/ce_count)))
		uncorrectable_errors=$(($uncorrectable_errors + $(cat $mc/ue_count)))
	done

	gmetric --name="ecc_correctable_errors" --title="ECC correctable errors" --value="$correctable_errors" --type="uint32" --group="memory" --conf=$conf 
	gmetric --name="ecc_uncorrectable_errors" --title="ECC uncorrectable errors" --value="$uncorrectable_errors" --type="uint32" --group="memory" --conf=$conf 
	
fi
