Skip to content
This repository was archived by the owner on Aug 16, 2021. It is now read-only.

Commit d40d08c

Browse files
dmiusDmitry
authored andcommitted
Operation timing added
1 parent 33e9c85 commit d40d08c

File tree

1 file changed

+49
-9
lines changed

1 file changed

+49
-9
lines changed

nancy_run.sh

Lines changed: 49 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -539,6 +539,8 @@ function checkParams() {
539539

540540
checkParams;
541541

542+
START_TIME=$(date +%s);
543+
542544
# Determine dump file size
543545
if ([ "$RUN_ON" == "aws" ] && [ ! ${AWS_EC2_TYPE:0:2} == "i3" ] && \
544546
[ -z ${EBS_VOLUME_SIZE+x} ] && [ ! -z ${DB_DUMP_PATH+x} ]); then
@@ -838,14 +840,19 @@ function copyFile() {
838840
# Dump
839841
sleep 2 # wait for postgres up&running
840842

841-
echo "$(date "+%Y-%m-%d %H:%M:%S"): Apply sql code before db init"
843+
OP_START_TIME=$(date +%s);
842844
if ([ ! -z ${BEFORE_DB_INIT_CODE+x} ] && [ "$BEFORE_DB_INIT_CODE" != "" ])
843845
then
846+
echo "$(date "+%Y-%m-%d %H:%M:%S"): Apply sql code before db init"
844847
BEFORE_DB_INIT_CODE_FILENAME=$(basename $BEFORE_DB_INIT_CODE)
845848
copyFile $BEFORE_DB_INIT_CODE
846849
# --set ON_ERROR_STOP=on
847850
docker_exec bash -c "psql --set ON_ERROR_STOP=on -U postgres test -b -f $MACHINE_HOME/$BEFORE_DB_INIT_CODE_FILENAME $OUTPUT_REDIRECT"
851+
END_TIME=$(date +%s);
852+
DURATION=$(echo $((END_TIME-OP_START_TIME)) | awk '{printf "%d:%02d:%02d", $1/3600, ($1/60)%60, $1%60}')
853+
echo "$(date "+%Y-%m-%d %H:%M:%S"): Before init SQL code applied for $DURATION."
848854
fi
855+
OP_START_TIME=$(date +%s);
849856
echo "$(date "+%Y-%m-%d %H:%M:%S"): Restore database dump"
850857
case "$DB_DUMP_EXT" in
851858
sql)
@@ -858,36 +865,55 @@ case "$DB_DUMP_EXT" in
858865
docker_exec bash -c "zcat $MACHINE_HOME/$DB_DUMP_FILENAME | psql --set ON_ERROR_STOP=on -U postgres test $OUTPUT_REDIRECT"
859866
;;
860867
esac
868+
END_TIME=$(date +%s);
869+
DURATION=$(echo $((END_TIME-OP_START_TIME)) | awk '{printf "%d:%02d:%02d", $1/3600, ($1/60)%60, $1%60}')
870+
echo "$(date "+%Y-%m-%d %H:%M:%S"): Database dump restored for $DURATION."
861871
# After init database sql code apply
862-
echo "$(date "+%Y-%m-%d %H:%M:%S"): Apply sql code after db init"
872+
OP_START_TIME=$(date +%s);
863873
if ([ ! -z ${AFTER_DB_INIT_CODE+x} ] && [ "$AFTER_DB_INIT_CODE" != "" ])
864874
then
875+
echo "$(date "+%Y-%m-%d %H:%M:%S"): Apply sql code after db init"
865876
AFTER_DB_INIT_CODE_FILENAME=$(basename $AFTER_DB_INIT_CODE)
866877
copyFile $AFTER_DB_INIT_CODE
867878
docker_exec bash -c "psql --set ON_ERROR_STOP=on -U postgres test -b -f $MACHINE_HOME/$AFTER_DB_INIT_CODE_FILENAME $OUTPUT_REDIRECT"
879+
END_TIME=$(date +%s);
880+
DURATION=$(echo $((END_TIME-OP_START_TIME)) | awk '{printf "%d:%02d:%02d", $1/3600, ($1/60)%60, $1%60}')
881+
echo "$(date "+%Y-%m-%d %H:%M:%S"): After init SQL code applied for $DURATION."
868882
fi
869883
# Apply DDL code
870-
echo "$(date "+%Y-%m-%d %H:%M:%S"): Apply DDL SQL code"
884+
OP_START_TIME=$(date +%s);
871885
if ([ ! -z ${TARGET_DDL_DO+x} ] && [ "$TARGET_DDL_DO" != "" ]); then
886+
echo "$(date "+%Y-%m-%d %H:%M:%S"): Apply DDL SQL code"
872887
TARGET_DDL_DO_FILENAME=$(basename $TARGET_DDL_DO)
873888
docker_exec bash -c "psql --set ON_ERROR_STOP=on -U postgres test -b -f $MACHINE_HOME/$TARGET_DDL_DO_FILENAME $OUTPUT_REDIRECT"
889+
END_TIME=$(date +%s);
890+
DURATION=$(echo $((END_TIME-OP_START_TIME)) | awk '{printf "%d:%02d:%02d", $1/3600, ($1/60)%60, $1%60}')
891+
echo "$(date "+%Y-%m-%d %H:%M:%S"): Target DDL do code applied for $DURATION."
874892
fi
875893
# Apply initial postgres configuration
876-
echo "$(date "+%Y-%m-%d %H:%M:%S"): Apply initial postgres configuration"
894+
OP_START_TIME=$(date +%s);
877895
if ([ ! -z ${PG_CONFIG+x} ] && [ "$PG_CONFIG" != "" ]); then
896+
echo "$(date "+%Y-%m-%d %H:%M:%S"): Apply initial postgres configuration"
878897
PG_CONFIG_FILENAME=$(basename $PG_CONFIG)
879898
docker_exec bash -c "cat $MACHINE_HOME/$PG_CONFIG_FILENAME >> /etc/postgresql/$PG_VERSION/main/postgresql.conf"
880899
if [ -z ${TARGET_CONFIG+x} ]
881900
then
882901
docker_exec bash -c "sudo /etc/init.d/postgresql restart"
883902
fi
903+
END_TIME=$(date +%s);
904+
DURATION=$(echo $((END_TIME-OP_START_TIME)) | awk '{printf "%d:%02d:%02d", $1/3600, ($1/60)%60, $1%60}')
905+
echo "$(date "+%Y-%m-%d %H:%M:%S"): Initial configuration applied for $DURATION."
884906
fi
885907
# Apply postgres configuration
886-
echo "$(date "+%Y-%m-%d %H:%M:%S"): Apply postgres configuration"
908+
OP_START_TIME=$(date +%s);
887909
if ([ ! -z ${TARGET_CONFIG+x} ] && [ "$TARGET_CONFIG" != "" ]); then
910+
echo "$(date "+%Y-%m-%d %H:%M:%S"): Apply postgres configuration"
888911
TARGET_CONFIG_FILENAME=$(basename $TARGET_CONFIG)
889912
docker_exec bash -c "cat $MACHINE_HOME/$TARGET_CONFIG_FILENAME >> /etc/postgresql/$PG_VERSION/main/postgresql.conf"
890913
docker_exec bash -c "sudo /etc/init.d/postgresql restart"
914+
END_TIME=$(date +%s);
915+
DURATION=$(echo $((END_TIME-OP_START_TIME)) | awk '{printf "%d:%02d:%02d", $1/3600, ($1/60)%60, $1%60}')
916+
echo "$(date "+%Y-%m-%d %H:%M:%S"): Postgres configuration applied for $DURATION."
891917
fi
892918
#Save before workload log
893919
echo "$(date "+%Y-%m-%d %H:%M:%S"): Save prepaparation log"
@@ -915,6 +941,7 @@ echo "$(date "+%Y-%m-%d %H:%M:%S"): Execute vacuumdb..."
915941
docker_exec vacuumdb -U postgres test -j $(cat /proc/cpuinfo | grep processor | wc -l) --analyze
916942
docker_exec bash -c "echo '' > /var/log/postgresql/postgresql-$PG_VERSION-main.log"
917943
# Execute workload
944+
OP_START_TIME=$(date +%s);
918945
echo "$(date "+%Y-%m-%d %H:%M:%S"): Execute workload..."
919946
if [ ! -z ${WORKLOAD_REAL+x} ] && [ "$WORKLOAD_REAL" != '' ];then
920947
echo "$(date "+%Y-%m-%d %H:%M:%S"): Execute pgreplay queries..."
@@ -928,8 +955,12 @@ else
928955
docker_exec bash -c "psql -U postgres test -E -f $MACHINE_HOME/$WORKLOAD_CUSTOM_FILENAME $OUTPUT_REDIRECT"
929956
fi
930957
fi
958+
END_TIME=$(date +%s);
959+
DURATION=$(echo $((END_TIME-OP_START_TIME)) | awk '{printf "%d:%02d:%02d", $1/3600, ($1/60)%60, $1%60}')
960+
echo "$(date "+%Y-%m-%d %H:%M:%S"): Workload executed for $DURATION."
931961

932962
## Get statistics
963+
OP_START_TIME=$(date +%s);
933964
echo "$(date "+%Y-%m-%d %H:%M:%S"): Prepare JSON log..."
934965
docker_exec bash -c "/root/pgbadger/pgbadger \
935966
-j $(cat /proc/cpuinfo | grep processor | wc -l) \
@@ -957,14 +988,23 @@ else
957988
exit 1
958989
fi
959990
fi
991+
END_TIME=$(date +%s);
992+
DURATION=$(echo $((END_TIME-OP_START_TIME)) | awk '{printf "%d:%02d:%02d", $1/3600, ($1/60)%60, $1%60}')
993+
echo "$(date "+%Y-%m-%d %H:%M:%S"): Statistics got for $DURATION."
960994

961-
echo "$(date "+%Y-%m-%d %H:%M:%S"): Apply DDL undo SQL code"
995+
OP_START_TIME=$(date +%s);
962996
if ([ ! -z ${TARGET_DDL_UNDO+x} ] && [ "$TARGET_DDL_UNDO" != "" ]); then
963-
TARGET_DDL_UNDO_FILENAME=$(basename $TARGET_DDL_UNDO)
964-
docker_exec bash -c "psql --set ON_ERROR_STOP=on -U postgres test -b -f $MACHINE_HOME/$TARGET_DDL_UNDO_FILENAME $OUTPUT_REDIRECT"
997+
echo "$(date "+%Y-%m-%d %H:%M:%S"): Apply DDL undo SQL code"
998+
TARGET_DDL_UNDO_FILENAME=$(basename $TARGET_DDL_UNDO)
999+
docker_exec bash -c "psql --set ON_ERROR_STOP=on -U postgres test -b -f $MACHINE_HOME/$TARGET_DDL_UNDO_FILENAME $OUTPUT_REDIRECT"
1000+
END_TIME=$(date +%s);
1001+
DURATION=$(echo $((END_TIME-OP_START_TIME)) | awk '{printf "%d:%02d:%02d", $1/3600, ($1/60)%60, $1%60}')
1002+
echo "$(date "+%Y-%m-%d %H:%M:%S"): Target DDL undo code applied for $DURATION."
9651003
fi
9661004

967-
echo -e "$(date "+%Y-%m-%d %H:%M:%S"): Run done!"
1005+
END_TIME=$(date +%s);
1006+
DURATION=$(echo $((END_TIME-START_TIME)) | awk '{printf "%d:%02d:%02d", $1/3600, ($1/60)%60, $1%60}')
1007+
echo -e "$(date "+%Y-%m-%d %H:%M:%S"): Run done for $DURATION"
9681008
echo -e " Report: $ARTIFACTS_DESTINATION/$ARTIFACTS_FILENAME.json"
9691009
echo -e " Query log: $ARTIFACTS_DESTINATION/$ARTIFACTS_FILENAME.log.gz"
9701010
echo -e " -------------------------------------------"

0 commit comments

Comments
 (0)