[CPS] Adjust k6 plots to have 20% padding 90/21890/1
authordanielhanrahan <daniel.hanrahan@est.tech>
Thu, 1 Aug 2024 10:14:13 +0000 (11:14 +0100)
committerdanielhanrahan <daniel.hanrahan@est.tech>
Thu, 1 Aug 2024 10:14:13 +0000 (11:14 +0100)
Set the max Y value in plots to be 20% higher than the max
recorded value or limit in the CSV data file.

Issue-ID: CPS-2208
Change-Id: I63b9f4c566f07507593f6f0c8d36e317d3525789
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
jjb/onap/cps/prepare-k6-performance-tests-plots.sh

index df6c574149dba046f03b2cc7f27d35efeb7b9ea8..06a8eda5bd4d230eb2aeb2952eee77708cd7fe0e 100755 (executable)
@@ -94,9 +94,7 @@ buildPlotImage() {
   chartFileName="$2"
   units="$3"
 
-  # Set upper limit of the graphs to 20% bigger than largest limit to have more space above the plot
-  limit=$(cut -d, -f2 "$dataFile" | sort -n | tail -n 1)
-  limit=$(echo "$limit * 1.2" | bc)
+  y_max=$(findMaxPlotRange "$dataFile")
 
   # Create a temporary Gnuplot script
   cat <<EOT >gnuplot_script.gp
@@ -105,7 +103,7 @@ set terminal pngcairo size 1500,600
 set output "${chartFileName}"
 set xlabel "Build"
 set ylabel "${units}"
-set yrange [0 : ${limit} < *]
+set yrange [0 : ${y_max} < *]
 set xtics rotate
 plot '$dataFile' using 1:3:xtic(sprintf("%d", column(1))) with linespoints title "measured", \
      '$dataFile' using 1:2 with lines linestyle 2 title "limit"
@@ -118,6 +116,16 @@ EOT
   rm gnuplot_script.gp
 }
 
+# Set upper limit of the graphs to 20% bigger than largest value to have more space above the plot
+findMaxPlotRange() {
+  dataFile="$1"
+  awk -F, '{
+    if ($2 > max) max = $2;
+    if ($3 > max) max = $3;
+  } END {
+    print max * 1.2;
+  }' "$dataFile"
+}
 #############################################################################################################################
 ################################################ M A I N ####################################################################
 #############################################################################################################################