Commit 67d4ef8d authored by Karol Latecki's avatar Karol Latecki Committed by Tomasz Zawadzki
Browse files

test/nvme_perf: remove "case" blocks from results parsing



These were not really needed and parsing functions had to
be unnecessarily called multiple times.

Signed-off-by: default avatarKarol Latecki <karol.latecki@intel.com>
Change-Id: I277125bbb3d598a348164e8834843d0d04f1434c
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/4098


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarMichal Berger <michalx.berger@intel.com>
Reviewed-by: default avatarShuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
parent c2f804d7
Loading
Loading
Loading
Loading
+20 −49
Original line number Diff line number Diff line
@@ -324,62 +324,33 @@ function bc() {
}

function get_results() {
	local iops bw stdev
	local p90_lat p99_lat p99_99_lat
	local mean_slat mean_clat
	local reads_pct
	local writes_pct

	reads_pct=$(bc "$2 / 100")
	reads_pct=$(bc "$1 / 100")
	writes_pct=$(bc "1 - $reads_pct")
	case "$1" in
		iops)

	iops=$(jq -r '.jobs[] | .read.iops + .write.iops' $TMP_RESULT_FILE)
			echo $iops
			;;
		mean_lat_usec)
	bw=$(jq -r ".jobs[] | (.read.bw + .write.bw)" $TMP_RESULT_FILE)
	mean_lat=$(jq -r ".jobs[] | (.read.lat_ns.mean * $reads_pct + .write.lat_ns.mean * $writes_pct)/1000" $TMP_RESULT_FILE)
			echo $mean_lat
			;;
		p90_lat_usec)
	p90_lat=$(jq -r ".jobs[] | (.read.clat_ns.percentile.\"90.000000\"  // 0 * $reads_pct + .write.clat_ns.percentile.\"90.000000\" // 0 * $writes_pct)/1000" $TMP_RESULT_FILE)
			echo $p90_lat
			;;
		p99_lat_usec)
	p99_lat=$(jq -r ".jobs[] | (.read.clat_ns.percentile.\"99.000000\"  // 0 * $reads_pct + .write.clat_ns.percentile.\"99.000000\" // 0 * $writes_pct)/1000" $TMP_RESULT_FILE)
			echo $p99_lat
			;;
		p99_99_lat_usec)
	p99_99_lat=$(jq -r ".jobs[] | (.read.clat_ns.percentile.\"99.990000\" // 0 * $reads_pct + .write.clat_ns.percentile.\"99.990000\" // 0 * $writes_pct)/1000" $TMP_RESULT_FILE)
			echo $p99_99_lat
			;;
		stdev_usec)
	stdev=$(jq -r ".jobs[] | (.read.clat_ns.stddev * $reads_pct + .write.clat_ns.stddev * $writes_pct)/1000" $TMP_RESULT_FILE)
			echo $stdev
			;;
		mean_slat_usec)
	mean_slat=$(jq -r ".jobs[] | (.read.slat_ns.mean * $reads_pct + .write.slat_ns.mean * $writes_pct)/1000" $TMP_RESULT_FILE)
			echo $mean_slat
			;;
		mean_clat_usec)
	mean_clat=$(jq -r ".jobs[] | (.read.clat_ns.mean * $reads_pct + .write.clat_ns.mean * $writes_pct)/1000" $TMP_RESULT_FILE)
			echo $mean_clat
			;;
		bw_Kibs)
			bw=$(jq -r ".jobs[] | (.read.bw + .write.bw)" $TMP_RESULT_FILE)
			echo $bw
			;;
	esac

	echo "$iops $bw $mean_lat $p90_lat $p99_lat $p99_99_lat $stdev $mean_slat $mean_clat"
}

function get_bdevperf_results() {
	case "$1" in
		iops)
			iops=$(grep Total $TMP_RESULT_FILE | awk -F 'Total' '{print $2}' | awk '{print $2}')
			echo $iops
			;;
		bw_Kibs)
			bw_KBs=$(grep Total $TMP_RESULT_FILE | awk -F 'Total' '{print $2}' | awk '{print $4}')
			bc "$bw_KBs * 1024"
			;;
	esac
	local iops
	local bw_MBs
	read -r iops bw_MBs <<< $(grep Total $TMP_RESULT_FILE | tr -s " " | awk -F ":| " '{print $5" "$7}')
	echo "$iops $(bc "$bw_MBs * 1024")"
}

function get_nvmeperf_results() {
+15 −11
Original line number Diff line number Diff line
@@ -272,8 +272,9 @@ mean_clat_disks_usec=0
for ((j = 0; j < REPEAT_NO; j++)); do
	if [ $PLUGIN = "spdk-perf-bdev" ]; then
		run_bdevperf > $TMP_RESULT_FILE
		iops_disks=$(bc "$iops_disks + $(get_bdevperf_results iops)")
		bw=$(bc "$bw + $(get_bdevperf_results bw_Kibs)")
		read -r iops bandwidth <<< $(get_bdevperf_results)
		iops_disks=$(bc "$iops_disks + $iops")
		bw=$(bc "$bw + $bandwidth")
		cp $TMP_RESULT_FILE $result_dir/perf_results_${MIX}_${PLUGIN}_${NO_CORES}cpus_${DATE}_${k}_disks_${j}.output
	elif [ $PLUGIN = "spdk-perf-nvme" ]; then
		run_nvmeperf $DISKNO > $TMP_RESULT_FILE
@@ -305,15 +306,18 @@ for ((j = 0; j < REPEAT_NO; j++)); do
		elif [[ $RW = *"write"* ]]; then
			rwmixread=0
		fi
		iops_disks=$(bc "$iops_disks + $(get_results iops $rwmixread)")
		mean_lat_disks_usec=$(bc "$mean_lat_disks_usec + $(get_results mean_lat_usec $rwmixread)")
		p90_lat_disks_usec=$(bc "$p90_lat_disks_usec + $(get_results p90_lat_usec $rwmixread)")
		p99_lat_disks_usec=$(bc "$p99_lat_disks_usec + $(get_results p99_lat_usec $rwmixread)")
		p99_99_lat_disks_usec=$(bc "$p99_99_lat_disks_usec + $(get_results p99_99_lat_usec $rwmixread)")
		stdev_disks_usec=$(bc "$stdev_disks_usec + $(get_results stdev_usec $rwmixread)")
		mean_slat_disks_usec=$(bc "$mean_slat_disks_usec + $(get_results mean_slat_usec $rwmixread)")
		mean_clat_disks_usec=$(bc "$mean_clat_disks_usec + $(get_results mean_clat_usec $rwmixread)")
		bw=$(bc "$bw + $(get_results bw_Kibs $rwmixread)")

		read -r iops bandwidth mean_lat_usec p90_lat_usec p99_lat_usec p99_99_lat_usec \
			stdev_usec mean_slat_usec mean_clat_usec <<< $(get_results $rwmixread)
		iops_disks=$(bc "$iops_disks + $iops")
		mean_lat_disks_usec=$(bc "$mean_lat_disks_usec + $mean_lat_usec")
		p90_lat_disks_usec=$(bc "$p90_lat_disks_usec + $p90_lat_usec")
		p99_lat_disks_usec=$(bc "$p99_lat_disks_usec + $p99_lat_usec")
		p99_99_lat_disks_usec=$(bc "$p99_99_lat_disks_usec + $p99_99_lat_usec")
		stdev_disks_usec=$(bc "$stdev_disks_usec + $stdev_usec")
		mean_slat_disks_usec=$(bc "$mean_slat_disks_usec + $mean_slat_usec")
		mean_clat_disks_usec=$(bc "$mean_clat_disks_usec + $mean_clat_usec")
		bw=$(bc "$bw + $bandwidth")

		cp $TMP_RESULT_FILE $result_dir/perf_results_${MIX}_${PLUGIN}_${NO_CORES}cpus_${DATE}_${k}_disks_${j}.json
		cp $testdir/config.fio $result_dir/config_${MIX}_${PLUGIN}_${NO_CORES}cpus_${DATE}_${k}_disks_${j}.fio