@@ -539,6 +539,8 @@ function checkParams() {
539
539
540
540
checkParams;
541
541
542
+ START_TIME=$( date +%s) ;
543
+
542
544
# Determine dump file size
543
545
if ([ " $RUN_ON " == " aws" ] && [ ! ${AWS_EC2_TYPE: 0: 2} == " i3" ] && \
544
546
[ -z ${EBS_VOLUME_SIZE+x} ] && [ ! -z ${DB_DUMP_PATH+x} ]); then
@@ -838,14 +840,19 @@ function copyFile() {
838
840
# Dump
839
841
sleep 2 # wait for postgres up&running
840
842
841
- echo " $( date " +%Y-%m-%d %H:%M:%S " ) : Apply sql code before db init "
843
+ OP_START_TIME= $( date +%s ) ;
842
844
if ([ ! -z ${BEFORE_DB_INIT_CODE+x} ] && [ " $BEFORE_DB_INIT_CODE " != " " ])
843
845
then
846
+ echo " $( date " +%Y-%m-%d %H:%M:%S" ) : Apply sql code before db init"
844
847
BEFORE_DB_INIT_CODE_FILENAME=$( basename $BEFORE_DB_INIT_CODE )
845
848
copyFile $BEFORE_DB_INIT_CODE
846
849
# --set ON_ERROR_STOP=on
847
850
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 ."
848
854
fi
855
+ OP_START_TIME=$( date +%s) ;
849
856
echo " $( date " +%Y-%m-%d %H:%M:%S" ) : Restore database dump"
850
857
case " $DB_DUMP_EXT " in
851
858
sql)
@@ -858,36 +865,55 @@ case "$DB_DUMP_EXT" in
858
865
docker_exec bash -c " zcat $MACHINE_HOME /$DB_DUMP_FILENAME | psql --set ON_ERROR_STOP=on -U postgres test $OUTPUT_REDIRECT "
859
866
;;
860
867
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 ."
861
871
# 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 ) ;
863
873
if ([ ! -z ${AFTER_DB_INIT_CODE+x} ] && [ " $AFTER_DB_INIT_CODE " != " " ])
864
874
then
875
+ echo " $( date " +%Y-%m-%d %H:%M:%S" ) : Apply sql code after db init"
865
876
AFTER_DB_INIT_CODE_FILENAME=$( basename $AFTER_DB_INIT_CODE )
866
877
copyFile $AFTER_DB_INIT_CODE
867
878
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 ."
868
882
fi
869
883
# Apply DDL code
870
- echo " $( date " +%Y-%m-%d %H:%M:%S " ) : Apply DDL SQL code "
884
+ OP_START_TIME= $( date +%s ) ;
871
885
if ([ ! -z ${TARGET_DDL_DO+x} ] && [ " $TARGET_DDL_DO " != " " ]); then
886
+ echo " $( date " +%Y-%m-%d %H:%M:%S" ) : Apply DDL SQL code"
872
887
TARGET_DDL_DO_FILENAME=$( basename $TARGET_DDL_DO )
873
888
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 ."
874
892
fi
875
893
# Apply initial postgres configuration
876
- echo " $( date " +%Y-%m-%d %H:%M:%S " ) : Apply initial postgres configuration "
894
+ OP_START_TIME= $( date +%s ) ;
877
895
if ([ ! -z ${PG_CONFIG+x} ] && [ " $PG_CONFIG " != " " ]); then
896
+ echo " $( date " +%Y-%m-%d %H:%M:%S" ) : Apply initial postgres configuration"
878
897
PG_CONFIG_FILENAME=$( basename $PG_CONFIG )
879
898
docker_exec bash -c " cat $MACHINE_HOME /$PG_CONFIG_FILENAME >> /etc/postgresql/$PG_VERSION /main/postgresql.conf"
880
899
if [ -z ${TARGET_CONFIG+x} ]
881
900
then
882
901
docker_exec bash -c " sudo /etc/init.d/postgresql restart"
883
902
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 ."
884
906
fi
885
907
# Apply postgres configuration
886
- echo " $( date " +%Y-%m-%d %H:%M:%S " ) : Apply postgres configuration "
908
+ OP_START_TIME= $( date +%s ) ;
887
909
if ([ ! -z ${TARGET_CONFIG+x} ] && [ " $TARGET_CONFIG " != " " ]); then
910
+ echo " $( date " +%Y-%m-%d %H:%M:%S" ) : Apply postgres configuration"
888
911
TARGET_CONFIG_FILENAME=$( basename $TARGET_CONFIG )
889
912
docker_exec bash -c " cat $MACHINE_HOME /$TARGET_CONFIG_FILENAME >> /etc/postgresql/$PG_VERSION /main/postgresql.conf"
890
913
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 ."
891
917
fi
892
918
# Save before workload log
893
919
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..."
915
941
docker_exec vacuumdb -U postgres test -j $( cat /proc/cpuinfo | grep processor | wc -l) --analyze
916
942
docker_exec bash -c " echo '' > /var/log/postgresql/postgresql-$PG_VERSION -main.log"
917
943
# Execute workload
944
+ OP_START_TIME=$( date +%s) ;
918
945
echo " $( date " +%Y-%m-%d %H:%M:%S" ) : Execute workload..."
919
946
if [ ! -z ${WORKLOAD_REAL+x} ] && [ " $WORKLOAD_REAL " != ' ' ]; then
920
947
echo " $( date " +%Y-%m-%d %H:%M:%S" ) : Execute pgreplay queries..."
@@ -928,8 +955,12 @@ else
928
955
docker_exec bash -c " psql -U postgres test -E -f $MACHINE_HOME /$WORKLOAD_CUSTOM_FILENAME $OUTPUT_REDIRECT "
929
956
fi
930
957
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 ."
931
961
932
962
# # Get statistics
963
+ OP_START_TIME=$( date +%s) ;
933
964
echo " $( date " +%Y-%m-%d %H:%M:%S" ) : Prepare JSON log..."
934
965
docker_exec bash -c " /root/pgbadger/pgbadger \
935
966
-j $( cat /proc/cpuinfo | grep processor | wc -l) \
@@ -957,14 +988,23 @@ else
957
988
exit 1
958
989
fi
959
990
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 ."
960
994
961
- echo " $( date " +%Y-%m-%d %H:%M:%S " ) : Apply DDL undo SQL code "
995
+ OP_START_TIME= $( date +%s ) ;
962
996
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 ."
965
1003
fi
966
1004
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 "
968
1008
echo -e " Report: $ARTIFACTS_DESTINATION /$ARTIFACTS_FILENAME .json"
969
1009
echo -e " Query log: $ARTIFACTS_DESTINATION /$ARTIFACTS_FILENAME .log.gz"
970
1010
echo -e " -------------------------------------------"
0 commit comments