#!/usr/bin/env bash # Starts the load generator against both replica ports for a fixed duration and # returns immediately - it runs in the background for the rest of run-all.sh. # Usage: run-load-generator.sh set -euo pipefail DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" source "$DIR/env.sh" DURATION="${1:-170}" rm -f "$EC_PHASE_FILE" "$EC_LOAD_SUMMARY" set_phase "00-baseline-soak" nohup java -cp "$MODULE_DIR/target/classes:$(cat "$CP_FILE")" \ com.ankurm.expandcontract.loadgen.LoadGenerator \ --ports="$PORT_A,$PORT_B" \ --durationSeconds="$DURATION" \ --phaseFile="$EC_PHASE_FILE" \ --outFile="$EC_LOAD_SUMMARY" \ --threads=8 \ > "$EC_LOG_DIR/load-generator.log" 2>&1 < /dev/null & echo $! > "$EC_PID_DIR/loadgen.pid" echo "load generator started (pid $(cat "$EC_PID_DIR/loadgen.pid")), running for ${DURATION}s"