diff --git a/net/net.sh b/net/net.sh index 04d24fc7e..96fe6e95b 100755 --- a/net/net.sh +++ b/net/net.sh @@ -72,6 +72,8 @@ updateManifestKeypairFile= updateDownloadUrl= numBenchTpsClients=0 numBenchExchangeClients=0 +benchTpsExtraArgs= +benchExchangeExtraArgs= command=$1 [[ -n $command ]] || usage @@ -128,13 +130,15 @@ while getopts "h?T:t:o:f:rD:i:c:" opt; do c) getClientTypeAndNum() { if ! [[ $OPTARG == *'='* ]]; then - echo "Error: Expecting keypair \"clientType=numClientType\" but got \"$OPTARG\"" + echo "Error: Expecting tuple \"clientType=numClientType=extraArgs\" but got \"$OPTARG\"" exit 1 fi + set -x local keyValue IFS='=' read -ra keyValue <<< "$OPTARG" local clientType=${keyValue[0]} local numClients=${keyValue[1]} + local extraArgs=${keyValue[2]} re='^[0-9]+$' if ! [[ $numClients =~ $re ]] ; then echo "error: numClientType must be a number but got \"$numClients\"" @@ -143,9 +147,11 @@ while getopts "h?T:t:o:f:rD:i:c:" opt; do case $clientType in bench-tps) numBenchTpsClients=$numClients + benchTpsExtraArgs=$extraArgs ;; bench-exchange) numBenchExchangeClients=$numClients + benchExchangeExtraArgs=$extraArgs ;; *) echo "Unknown client type: $clientType" @@ -310,7 +316,8 @@ startClient() { set -x startCommon "$ipAddress" ssh "${sshOptions[@]}" -f "$ipAddress" \ - "./solana/net/remote/remote-client.sh $deployMethod $entrypointIp $clientToRun \"$RUST_LOG\"" + "./solana/net/remote/remote-client.sh $deployMethod $entrypointIp \ + $clientToRun \"$RUST_LOG\" \"$benchTpsExtraArgs\" \"$benchExchangeExtraArgs\"" ) >> "$logFile" 2>&1 || { cat "$logFile" echo "^^^ +++" diff --git a/net/remote/remote-client.sh b/net/remote/remote-client.sh index b44790158..b94983fd4 100755 --- a/net/remote/remote-client.sh +++ b/net/remote/remote-client.sh @@ -9,6 +9,8 @@ deployMethod="$1" entrypointIp="$2" clientToRun="$3" RUST_LOG="$4" +benchTpsExtraArgs="$5" +benchExchangeExtraArgs="$6" export RUST_LOG=${RUST_LOG:-solana=info} # if RUST_LOG is unset, default to info missing() { @@ -59,6 +61,7 @@ solana-bench-tps) --duration 7500 \ --sustained \ --threads $threadCount \ + $benchTpsExtraArgs \ " ;; solana-bench-exchange) @@ -72,6 +75,7 @@ solana-bench-exchange) --fund-amount 20000 \ --duration 7500 \ --identity bench.keypair \ + $benchExchangeExtraArgs \ " ;; *)