211 lines
8.1 KiB
Bash
Executable File
211 lines
8.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
WORK_DIR=/mnt/root
|
|
|
|
# Coloured Echoes #
|
|
function red_echo { echo -e "\033[31m$@\033[0m"; } #
|
|
function green_echo { echo -e "\033[32m$@\033[0m"; } #
|
|
function yellow_echo { echo -e "\033[33m$@\033[0m"; } #
|
|
function white_echo { echo -e "\033[1;37m$@\033[0m"; } #
|
|
# Coloured Printfs #
|
|
function red_printf { printf "\033[31m$@\033[0m"; } #
|
|
function green_printf { printf "\033[32m$@\033[0m"; } #
|
|
function yellow_printf { printf "\033[33m$@\033[0m"; } #
|
|
function white_printf { printf "\033[1;37m$@\033[0m"; } #
|
|
# Debugging Outputs #
|
|
function white_brackets { local args="$@"; white_printf "["; printf "${args}"; white_printf "]"; } #
|
|
function echoInfo { local args="$@"; white_brackets $(green_printf "INFO") && echo " ${args}"; } #
|
|
function echoWarn { local args="$@"; echo "$(white_brackets "$(yellow_printf "WARN")" && echo " ${args}";)" 1>&2; } #
|
|
function echoError { local args="$@"; echo "$(white_brackets "$(red_printf "ERROR")" && echo " ${args}";)" 1>&2; } #
|
|
|
|
function setMaxTablesPerVnode {
|
|
echo "/etc/taos/taos.cfg maxTablesPerVnode will be set to $1"
|
|
|
|
hasText=`grep "maxTablesPerVnode" /etc/taos/taos.cfg`
|
|
if [[ -z "$hasText" ]]; then
|
|
echo "maxTablesPerVnode $1" >> /etc/taos/taos.cfg
|
|
else
|
|
sed -i 's/^maxTablesPerVnode.*$/maxTablesPerVnode '"$1"'/g' /etc/taos/taos.cfg
|
|
fi
|
|
}
|
|
|
|
function setMaxConnections {
|
|
echo "/etc/taos/taos.cfg maxConnection will be set to $1"
|
|
|
|
hasText=`grep "maxConnections" /etc/taos/taos.cfg`
|
|
if [[ -z "$hasText" ]]; then
|
|
echo "maxConnections $1" >> /etc/taos/taos.cfg
|
|
else
|
|
sed -i 's/^maxConnections.*$/maxConnections '"$1"'/g' /etc/taos/taos.cfg
|
|
fi
|
|
}
|
|
|
|
function setQDebugFlag {
|
|
echo "/etc/taos/taos.cfg qDebugFlag will be set to $1"
|
|
|
|
hasText=`grep -w "qDebugFlag" /etc/taos/taos.cfg`
|
|
if [[ -z "$hasText" ]]; then
|
|
echo "qDebugFlag $1" >> /etc/taos/taos.cfg
|
|
else
|
|
sed -i 's/^qDebugFlag.*$/qDebugFlag '"$1"'/g' /etc/taos/taos.cfg
|
|
fi
|
|
}
|
|
|
|
function setDebugFlag {
|
|
echo "/etc/taos/taos.cfg DebugFlag will be set to $1"
|
|
|
|
hasText=`grep -w "DebugFlag" /etc/taos/taos.cfg`
|
|
if [[ -z "$hasText" ]]; then
|
|
echo "DebugFlag $1" >> /etc/taos/taos.cfg
|
|
else
|
|
sed -i 's/^DebugFlag.*$/DebugFlag '"$1"'/g' /etc/taos/taos.cfg
|
|
fi
|
|
}
|
|
|
|
function setWal {
|
|
echo "/etc/taos/taos.cfg walLevel will be set to $1"
|
|
|
|
hasText=`grep "walLevel" /etc/taos/taos.cfg`
|
|
if [[ -z "$hasText" ]]; then
|
|
echo "walLevel $1" >> /etc/taos/taos.cfg
|
|
else
|
|
sed -i 's/^walLevel.*$/walLevel '"$1"'/g' /etc/taos/taos.cfg
|
|
fi
|
|
}
|
|
|
|
function collectSysInfo {
|
|
rm sysinfo.log
|
|
grep model /proc/cpuinfo | tail -n1 | tee sysinfo.log
|
|
grep cores /proc/cpuinfo | tail -n1 | tee -a sysinfo.log
|
|
grep MemTotal /proc/meminfo | tee -a sysinfo.log
|
|
grep "^[^#;]" /etc/taos/taos.cfg | tee taos.cfg
|
|
}
|
|
|
|
function buildTDengine {
|
|
echoInfo "Build TDengine"
|
|
cd $WORK_DIR/TDengine
|
|
|
|
git remote update > /dev/null
|
|
REMOTE_COMMIT=`git rev-parse --short remotes/origin/develop`
|
|
LOCAL_COMMIT=`git rev-parse --short @`
|
|
|
|
echo " LOCAL: $LOCAL_COMMIT"
|
|
echo "REMOTE: $REMOTE_COMMIT"
|
|
if [ "$LOCAL_COMMIT" == "$REMOTE_COMMIT" ]; then
|
|
echo "repo up-to-date"
|
|
else
|
|
echo "repo need to pull"
|
|
git pull > /dev/null
|
|
|
|
LOCAL_COMMIT=`git rev-parse --short @`
|
|
cd debug
|
|
rm -rf *
|
|
cmake .. > /dev/null
|
|
make > /dev/null
|
|
make install
|
|
fi
|
|
}
|
|
|
|
function sendReport {
|
|
receiver="sdsang@taosdata.com, sangshuduo@gmail.com"
|
|
mimebody="MIME-Version: 1.0\nContent-Type: text/html; charset=utf-8\n"
|
|
|
|
echo -e "to: ${receiver}\nsubject: Perf test report ${today}, commit ID: ${LOCAL_COMMIT}\n" | \
|
|
(cat - && uuencode perftest-1d-wal1-$today.log perftest-1d-wal1-$today.log)| \
|
|
(cat - && uuencode perftest-1d-wal1-report.csv perftest-1d-wal1-report-$today.csv) | \
|
|
(cat - && uuencode perftest-1d-wal1-report.png perftest-1d-wal1-report-$today.png) | \
|
|
(cat - && uuencode perftest-13d-wal1-$today.log perftest-13d-wal1-$today.log)| \
|
|
(cat - && uuencode perftest-13d-wal1-report.csv perftest-13d-wal1-report-$today.csv) | \
|
|
(cat - && uuencode perftest-13d-wal1-report.png perftest-13d-wal1-report-$today.png) | \
|
|
(cat - && uuencode perftest-var10k-int10s-wal1-$today.log perftest-var10k-int10s-wal1-$today.log)| \
|
|
(cat - && uuencode perftest-var10k-int10s-wal1-report.csv perftest-var10k-int10s-wal1-report-$today.csv) | \
|
|
(cat - && uuencode perftest-var10k-int10s-wal1-report.png perftest-var10k-int10s-wal1-report-$today.png) | \
|
|
(cat - && uuencode taosdemo-wal1-$today.log taosdemo-wal1-$today.log) | \
|
|
(cat - && uuencode taosdemo-wal1-report.csv taosdemo-wal1-report-$today.csv) | \
|
|
(cat - && uuencode taosdemo-wal1-report.png taosdemo-wal1-report-$today.png) | \
|
|
(cat - && uuencode taosdemo-rps-wal1-report.csv taosdemo-rps-wal1-report-$today.csv) | \
|
|
(cat - && uuencode taosdemo-rps-wal1-report.png taosdemo-rps-wal1-report-$today.png) | \
|
|
(cat - && uuencode perftest-1d-wal2-$today.log perftest-1d-wal2-$today.log)| \
|
|
(cat - && uuencode perftest-1d-wal2-report.csv perftest-1d-wal2-report-$today.csv) | \
|
|
(cat - && uuencode perftest-1d-wal2-report.png perftest-1d-wal2-report-$today.png) | \
|
|
(cat - && uuencode perftest-13d-wal2-$today.log perftest-13d-wal2-$today.log)| \
|
|
(cat - && uuencode perftest-13d-wal2-report.csv perftest-13d-wal2-report-$today.csv) | \
|
|
(cat - && uuencode perftest-13d-wal2-report.png perftest-13d-wal2-report-$today.png) | \
|
|
(cat - && uuencode perftest-var10k-int10s-wal2-$today.log perftest-var10k-int10s-wal2-$today.log)| \
|
|
(cat - && uuencode perftest-var10k-int10s-wal2-report.csv perftest-var10k-int10s-wal2-report-$today.csv) | \
|
|
(cat - && uuencode perftest-var10k-int10s-wal2-report.png perftest-var10k-int10s-wal2-report-$today.png) | \
|
|
(cat - && uuencode taosdemo-wal2-$today.log taosdemo-wal2-$today.log) | \
|
|
(cat - && uuencode taosdemo-wal2-report.csv taosdemo-wal2-report-$today.csv) | \
|
|
(cat - && uuencode taosdemo-wal2-report.png taosdemo-wal2-report-$today.png) | \
|
|
(cat - && uuencode taosdemo-rps-wal2-report.csv taosdemo-rps-wal2-report-$today.csv) | \
|
|
(cat - && uuencode taosdemo-rps-wal2-report.png taosdemo-rps-wal2-report-$today.png) | \
|
|
(cat - && uuencode sysinfo.log sysinfo.txt) | \
|
|
(cat - && uuencode taos.cfg taos-cfg-$today.txt) | \
|
|
ssmtp "${receiver}"
|
|
}
|
|
|
|
today=`date +"%Y%m%d"`
|
|
cd $WORK_DIR
|
|
echo -e "cron-ran-at-${today}" >> $WORK_DIR/cron.log
|
|
|
|
buildTDengine
|
|
|
|
############################
|
|
setMaxConnections 1000
|
|
setMaxTablesPerVnode 6000
|
|
setDebugFlag 131
|
|
setQDebugFlag 131
|
|
|
|
############################
|
|
setWal "2"
|
|
|
|
cd $WORK_DIR
|
|
date >> $WORK_DIR/cron.log
|
|
./perftest-taosdemo.sh "wal2"
|
|
date >> $WORK_DIR/cron.log
|
|
|
|
cd $WORK_DIR
|
|
date >> $WORK_DIR/cron.log
|
|
./perftest-tsdb-compare-1d.sh
|
|
date >> $WORK_DIR/cron.log
|
|
|
|
cd $WORK_DIR
|
|
date >> $WORK_DIR/cron.log
|
|
./perftest-tsdb-compare-13d.sh
|
|
date >> $WORK_DIR/cron.log
|
|
|
|
cd $WORK_DIR
|
|
date >> $WORK_DIR/cron.log
|
|
./perftest-tsdb-compare-var10k-int10s.sh
|
|
date >> $WORK_DIR/cron.log
|
|
|
|
#############################
|
|
setWal "1"
|
|
|
|
cd $WORK_DIR
|
|
date >> $WORK_DIR/cron.log
|
|
./perftest-taosdemo.sh "wal1"
|
|
date >> $WORK_DIR/cron.log
|
|
|
|
cd $WORK_DIR
|
|
date >> $WORK_DIR/cron.log
|
|
./perftest-tsdb-compare-1d.sh
|
|
date >> $WORK_DIR/cron.log
|
|
|
|
cd $WORK_DIR
|
|
date >> $WORK_DIR/cron.log
|
|
./perftest-tsdb-compare-13d.sh
|
|
date >> $WORK_DIR/cron.log
|
|
|
|
cd $WORK_DIR
|
|
date >> $WORK_DIR/cron.log
|
|
./perftest-tsdb-compare-var10k-int10s.sh
|
|
date >> $WORK_DIR/cron.log
|
|
|
|
#############################
|
|
collectSysInfo
|
|
|
|
echoInfo "Send Report"
|
|
sendReport
|
|
echoInfo "End of Test"
|