WiscSort / measure / capture_metrics.sh
capture_metrics.sh
Raw
#!/bin/bash

set -u
EXP_NUMBER=$1
rm -rf stats/$EXP_NUMBER

mkdir -p stats/$EXP_NUMBER

# CPU metrics
dstat -cT --output stats/$EXP_NUMBER/cpu > /dev/null &

function collect() {
	now=$(date +%s)
	memory=`free -m | head -n 2 | tail -n 1 | awk '{print $3}'`
	echo "$now $memory" >> stats/$EXP_NUMBER/memory

	#tmp_folder_size=`du -m /mnt/data/tmp/ | tail -n 1 | awk '{print $1}'`
	#echo "$now $tmp_folder_size" >> stats/$EXP_NUMBER/tmp_folder_size
}

#bmon -p eno1 -o format:fmt='$(attr:rxrate:bytes) $(attr:txrate:bytes)\n' | ts '%s' | tee stats/$EXP_NUMBER/nw.0 > /dev/null &
#bmon -p ens1f0 -o format:fmt='$(attr:rxrate:bytes) $(attr:txrate:bytes)\n' | ts '%s' | tee stats/$EXP_NUMBER/nw.1 > /dev/null &

iostat -m 1 | grep --line-buffered nvme0n1 | ts '%s' | tee stats/$EXP_NUMBER/iostats > /dev/null &

# instrumenting bandwidth in code
#python /home/kanwu/Research/tools/pmu-tools/ucevent/ucevent.py iMC.PMM_BW_READS_KAN iMC.PMM_BW_WRITES_KAN --scale GB --csv "," -o stats/$EXP_NUMBER/pmem & 

function main() {

	while true; do 
		collect &
		sleep 2;
	done;
}

main & > /dev/null 2>/dev/null
disown