github.com/pingcap/tiflow@v0.0.0-20240520035814-5bf52d54e205/dm/tests/_utils/check_two_metric_equal (about) 1 # !/bin/bash 2 # parameter 1: port 3 # parameter 2: metric name 4 # parameter 3: retry count, if check failed we will wait 1s before next retry, until retry time exceeds retry count 5 # parameter 4...: valid value list 6 7 set -eu 8 9 port=$1 10 metric1_name=$2 11 metric2_name=$3 12 retry_count=$4 13 14 counter=0 15 while [ $counter -lt $retry_count ]; do 16 metric1=$(curl -s http://127.0.0.1:$port/metrics | grep $metric1_name | grep -v "#" | awk '{print $2}') 17 metric2=$(curl -s http://127.0.0.1:$port/metrics | grep $metric2_name | grep -v "#" | awk '{print $2}') 18 if [ $metric1 -eq $metric2 ]; then 19 echo "matched" 20 exit 0 21 fi 22 ((counter += 1)) 23 echo "wait for valid metric for $counter-th time" 24 sleep 1 25 done 26 27 echo "metric1 and metric2 not equal" 28 exit 1