tfcache-comparison

changed behaviour to p2p in order to initialize output. also

8/13/2019 3:12:57 PM

Changes

reduce.sh 52(+37 -15)

Details

reduce.sh 52(+37 -15)

diff --git a/reduce.sh b/reduce.sh
index da25309..ca679d3 100644
--- a/reduce.sh
+++ b/reduce.sh
@@ -2,6 +2,20 @@
 
 source functions.sh
 
+function initialize-output() {
+	reduce="$1"
+	if [[ "$reduce" = "*" || "$reduce" = "requests" ]]; then
+		if [[ ! -f  applications/output/requests-handled.csv ]]; then
+			echo 'application,version,users,execution,time,requests' > applications/output/requests-handled.csv
+		fi
+	fi
+	if [[ "$reduce" = "*" || "$reduce" = "cache" ]]; then
+		if [[ ! -f  applications/output/hits-distribution.csv ]]; then
+			echo 'application,version,users,name,identifier,event,amount' > applications/output/hits-distribution.csv
+		fi
+	fi
+}
+
 if [ "$(whoami)" != 'root' ]; then
     echo "You have no permission to run $0 as non-root user."
     exit 1;
@@ -12,40 +26,48 @@ JAVA_OPTS=${JAVA_OPTS:-"-Xms4096m -Xmx6124m"}
 host="localhost"
 versions="uncached developers aplcache memoizeit"
 applications="*"
+reduce="*"
 if [[ ! -z $1 ]]; then
 	host=$1
 	if [[ ! -z $2 ]]; then
 		versions=$2
 		if [[ ! -z $3 ]]; then
 			applications=$3
+			if [[ ! -z $4 ]]; then
+				reduce=$4
+			fi
 		fi
 	fi
 fi
 
-echo "$(date '+%F %T') Reducing in host $host for the applications $applications among the versions $versions"
+if [[ $host = "localhost" ]]; then
+	initialize-output "$reduce"
+else
+	initialize-output "requests"
+	command="bash reduce.sh localhost '$versions' '$applications' cache"
+	execute "$host" "$command"
+fi
+echo "$(date '+%F %T') Reducing $reduce in host $host for the applications $applications among the versions $versions"
 for version in $versions; do
 	version=${version%/}
 	if [[ $applications = "*" ]]; then
-		existing_applications=$(echo applications/$version/*/)
+		existing_applications=$(echo applications/$version/*/ | cut -d "/" -f 3)
 	else
 		existing_applications=$applications
 	fi
-	if [[ ! -f  applications/output/requests-handled.csv ]]; then
-		echo 'application,version,users,execution,time,requests' > applications/output/requests-handled.csv
-		if [[ $host = "localhost" ]]; then
-			echo 'application,version,users,name,identifier,event,amount' > applications/output/hits-distribution.csv
-		fi
-	fi
 	for application in $existing_applications; do
 		application=${application%/}
 		for user in 1 5 25; do
-			for execution in {1..10}; do
-				echo "$(date '+%F %T')  Reducing requests of $application-$version with $user users and execution $execution"
-				java $JAVA_OPTS -jar adapters/RequestsSimulator/target/RequestsSimulator-1.0.jar --throughput=applications/output/$application-$version-${user}user-${execution}execution-requests --reduce=applications/output/requests-handled.csv --prefix=$application,$version,$user,$execution,
-			done
-			echo "$(date '+%F %T') Reducing cachemetrics of $application-$version with $user users"
-			command="java $JAVA_OPTS -jar adapters/Cache/target/Cache-1.0.jar applications/output/$application-$version-${user}user-cache applications/output/hits-distribution.csv $application,$version,$user,"
-			execute "$host" "$command"
+			if [[ "$reduce" = "*" || "$reduce" = "requests" ]]; then
+				for execution in {1..10}; do
+					echo "$(date '+%F %T')  Reducing requests of $application-$version with $user users and execution $execution"
+					java $JAVA_OPTS -jar adapters/RequestsSimulator/target/RequestsSimulator-1.0.jar --throughput=applications/output/$application-$version-${user}user-${execution}execution-requests --reduce=applications/output/requests-handled.csv --prefix=$application,$version,$user,$execution,
+				done
+			fi
+			if [[ $host = "localhost" && ("$reduce" = "*" || "$reduce" = "cache") ]]; then
+				echo "$(date '+%F %T') Reducing cachemetrics of $application-$version with $user users"
+				java $JAVA_OPTS -jar adapters/Cache/target/Cache-1.0.jar applications/output/$application-$version-${user}user-cache applications/output/hits-distribution.csv $application,$version,$user,
+			fi
 		done
 	done
 done