github.com/m3db/m3@v1.5.1-0.20231129193456-75a402aa583b/scripts/benchmarks/benchmark-loadgen/benchmark-loadgen.sh (about)

     1  #!/bin/bash
     2  
     3  set -e
     4  
     5  PARAM_NUM_INSTANCES=${NUM_INSTANCES:-100}
     6  
     7  PARAM_COORDINATOR=${COORDINATOR:-127.0.0.1}
     8  PARAM_COORDINATOR_API_PORT=${COORDINATOR_API_PORT:-7201}
     9  PARAM_COORDINATOR_DEBUG_PORT=${COORDINATOR_DEBUG_PORT:-7203}
    10  
    11  PARAM_DBNODES=${DBNODES:-127.0.0.1}
    12  PARAM_DBNODE_DEBUG_PORT=${DBNODE_DEBUG_PORT:-9004}
    13  
    14  CFG_COORDINATOR="${PARAM_COORDINATOR}:${PARAM_COORDINATOR_API_PORT}"
    15  
    16  CFG_SCRAPE_FAKEWEBSERVERS=""
    17  for N in $(seq 1 $PARAM_NUM_INSTANCES); do
    18    PORT=$(expr 8080 + $N - 1)
    19    if [ "$CFG_SCRAPE_FAKEWEBSERVERS" != "" ]; then
    20      CFG_SCRAPE_FAKEWEBSERVERS="${CFG_SCRAPE_FAKEWEBSERVERS},"
    21    fi
    22    CFG_SCRAPE_FAKEWEBSERVERS="${CFG_SCRAPE_FAKEWEBSERVERS}\"fakewebserver01:${PORT}\""
    23  done
    24  
    25  CFG_SCRAPE_DBNODES=""
    26  for DBNODE in $(echo $PARAM_DBNODES | tr "," "\n"); do
    27    if [ "$CFG_SCRAPE_DBNODES" != "" ]; then
    28      CFG_SCRAPE_DBNODES="${CFG_SCRAPE_DBNODES},"
    29    fi
    30    CFG_SCRAPE_DBNODES="${CFG_SCRAPE_DBNODES}\"${DBNODE}:${PARAM_DBNODE_DEBUG_PORT}\""
    31  done
    32  
    33  CFG_SCRAPE_COORDINATOR="\"${PARAM_COORDINATOR}:${PARAM_COORDINATOR_DEBUG_PORT}\""
    34  
    35  sed -e "s/\${coordinator}/${CFG_COORDINATOR}/" \
    36    -e "s/\${fakewebserver_scrape_targets}/${CFG_SCRAPE_FAKEWEBSERVERS}/" \
    37    -e "s/\${dbnode_scrape_targets}/${CFG_SCRAPE_DBNODES}/" \
    38    -e "s/\${coordinator_scrape_target}/${CFG_SCRAPE_COORDINATOR}/" \
    39    prometheus-template.yml > /tmp/prometheus.yml
    40  
    41  echo "Start loadgen containers"
    42  docker-compose -f docker-compose.yml up