@@ -1137,6 +1137,7 @@ function copy_file() {
1137
1137
# # Apply machine features
1138
1138
# Dump
1139
1139
sleep 2 # wait for postgres up&running
1140
+
1140
1141
OP_START_TIME=$( date +%s) ;
1141
1142
if ([ ! -z ${COMMANDS_AFTER_CONTAINER_INIT+x} ] && [ " $COMMANDS_AFTER_CONTAINER_INIT " != " " ])
1142
1143
then
@@ -1150,7 +1151,6 @@ then
1150
1151
DURATION=$( echo $(( END_TIME- OP_START_TIME)) | awk ' {printf "%d:%02d:%02d", $1/3600, ($1/60)%60, $1%60}' )
1151
1152
msg " After docker init code has been applied for $DURATION ."
1152
1153
fi
1153
-
1154
1154
OP_START_TIME=$( date +%s) ;
1155
1155
if ([ ! -z ${SQL_BEFORE_DB_RESTORE+x} ] && [ " $SQL_BEFORE_DB_RESTORE " != " " ]); then
1156
1156
msg " Apply sql code before db init"
@@ -1162,9 +1162,9 @@ if ([ ! -z ${SQL_BEFORE_DB_RESTORE+x} ] && [ "$SQL_BEFORE_DB_RESTORE" != "" ]);
1162
1162
DURATION=$( echo $(( END_TIME- OP_START_TIME)) | awk ' {printf "%d:%02d:%02d", $1/3600, ($1/60)%60, $1%60}' )
1163
1163
msg " Before init SQL code applied for $DURATION ."
1164
1164
fi
1165
+
1165
1166
OP_START_TIME=$( date +%s) ;
1166
1167
msg " Restore database dump"
1167
-
1168
1168
CPU_CNT=$( docker_exec bash -c " cat /proc/cpuinfo | grep processor | wc -l" ) # for execute in docker
1169
1169
case " $DB_DUMP_EXT " in
1170
1170
sql)
@@ -1183,6 +1183,7 @@ esac
1183
1183
END_TIME=$( date +%s) ;
1184
1184
DURATION=$( echo $(( END_TIME- OP_START_TIME)) | awk ' {printf "%d:%02d:%02d", $1/3600, ($1/60)%60, $1%60}' )
1185
1185
msg " Database dump restored for $DURATION ."
1186
+
1186
1187
# After init database sql code apply
1187
1188
OP_START_TIME=$( date +%s) ;
1188
1189
if ([ ! -z ${SQL_AFTER_DB_RESTORE+x} ] && [ " $SQL_AFTER_DB_RESTORE " != " " ]); then
@@ -1236,8 +1237,10 @@ logpath=$( \
1236
1237
-c \" select string_agg(setting, '/' order by name) from pg_settings where name in ('log_directory', 'log_filename');\" \
1237
1238
| grep / | sed -e 's/^[ \t]*//'"
1238
1239
)
1240
+ docker_exec bash -c " mkdir $MACHINE_HOME /$ARTIFACTS_FILENAME "
1241
+ docker_exec bash -c " gzip -c $logpath > $MACHINE_HOME /$ARTIFACTS_FILENAME /$ARTIFACTS_FILENAME .prepare.log.gz"
1242
+
1239
1243
# TODO(ns) get prepare.log.gz
1240
- # docker_exec bash -c "gzip -c $logpath > $MACHINE_HOME/$ARTIFACTS_FILENAME.prepare.log.gz"
1241
1244
# if [[ $ARTIFACTS_DESTINATION =~ "s3://" ]]; then
1242
1245
# docker_exec s3cmd put /$MACHINE_HOME/$ARTIFACTS_FILENAME.prepare.log.gz $ARTIFACTS_DESTINATION/
1243
1246
# else
@@ -1248,6 +1251,7 @@ logpath=$( \
1248
1251
msg " Execute vacuumdb..."
1249
1252
docker_exec vacuumdb -U postgres test -j $CPU_CNT --analyze
1250
1253
docker_exec bash -c " echo '' > /var/log/postgresql/postgresql-$PG_VERSION -main.log"
1254
+
1251
1255
# Execute workload
1252
1256
OP_START_TIME=$( date +%s) ;
1253
1257
msg " Execute workload..."
@@ -1277,28 +1281,32 @@ msg "Prepare JSON log..."
1277
1281
docker_exec bash -c " /root/pgbadger/pgbadger \
1278
1282
-j $CPU_CNT \
1279
1283
--prefix '%t [%p]: [%l-1] db=%d,user=%u (%a,%h)' /var/log/postgresql/* -f stderr \
1280
- -o $MACHINE_HOME /$ARTIFACTS_FILENAME .json" \
1284
+ -o $MACHINE_HOME /$ARTIFACTS_FILENAME / $ARTIFACTS_FILENAME .json" \
1281
1285
2> >( grep -v " install the Text::CSV_XS" >&2 )
1282
1286
1283
- docker_exec bash -c " gzip -c $logpath > $MACHINE_HOME /$ARTIFACTS_FILENAME .log.gz"
1284
- docker_exec bash -c " gzip -c /etc/postgresql/$PG_VERSION /main/postgresql.conf > $MACHINE_HOME /$ARTIFACTS_FILENAME .conf.gz"
1287
+ docker_exec bash -c " gzip -c $logpath > $MACHINE_HOME /$ARTIFACTS_FILENAME / $ARTIFACTS_FILENAME .log.gz"
1288
+ docker_exec bash -c " gzip -c /etc/postgresql/$PG_VERSION /main/postgresql.conf > $MACHINE_HOME /$ARTIFACTS_FILENAME / $ARTIFACTS_FILENAME .conf.gz"
1285
1289
msg " Save artifacts..."
1286
1290
if [[ $ARTIFACTS_DESTINATION =~ " s3://" ]]; then
1287
- docker_exec s3cmd put /$MACHINE_HOME /$ARTIFACTS_FILENAME .json $ARTIFACTS_DESTINATION /
1288
- docker_exec s3cmd put /$MACHINE_HOME /$ARTIFACTS_FILENAME .log.gz $ARTIFACTS_DESTINATION /
1289
- docker_exec s3cmd put /$MACHINE_HOME /$ARTIFACTS_FILENAME .conf.gz $ARTIFACTS_DESTINATION /
1291
+ docker_exec s3cmd --recursive put /$MACHINE_HOME /$ARTIFACTS_FILENAME $ARTIFACTS_DESTINATION /
1292
+ # docker_exec s3cmd put /$MACHINE_HOME/$ARTIFACTS_FILENAME.json $ARTIFACTS_DESTINATION/
1293
+ # docker_exec s3cmd put /$MACHINE_HOME/$ARTIFACTS_FILENAME.log.gz $ARTIFACTS_DESTINATION/
1294
+ # docker_exec s3cmd put /$MACHINE_HOME/$ARTIFACTS_FILENAME.conf.gz $ARTIFACTS_DESTINATION/
1290
1295
else
1291
1296
if [[ " $RUN_ON " == " localhost" ]]; then
1292
- docker cp $CONTAINER_HASH :$MACHINE_HOME /$ARTIFACTS_FILENAME .json $ARTIFACTS_DESTINATION /
1293
- docker cp $CONTAINER_HASH :$MACHINE_HOME /$ARTIFACTS_FILENAME .log.gz $ARTIFACTS_DESTINATION /
1294
- docker cp $CONTAINER_HASH :$MACHINE_HOME /$ARTIFACTS_FILENAME .conf.gz $ARTIFACTS_DESTINATION /
1297
+ docker cp $CONTAINER_HASH :$MACHINE_HOME /$ARTIFACTS_FILENAME $ARTIFACTS_DESTINATION /
1298
+ # docker cp $CONTAINER_HASH:$MACHINE_HOME/$ARTIFACTS_FILENAME.json $ARTIFACTS_DESTINATION/
1299
+ # docker cp $CONTAINER_HASH:$MACHINE_HOME/$ARTIFACTS_FILENAME.log.gz $ARTIFACTS_DESTINATION/
1300
+ # docker cp $CONTAINER_HASH:$MACHINE_HOME/$ARTIFACTS_FILENAME.conf.gz $ARTIFACTS_DESTINATION/
1295
1301
# TODO option: ln / cp
1296
1302
# cp "$TMP_PATH/nancy_$CONTAINER_HASH/"$ARTIFACTS_FILENAME.json $ARTIFACTS_DESTINATION/
1297
1303
# cp "$TMP_PATH/nancy_$CONTAINER_HASH/"$ARTIFACTS_FILENAME.log.gz $ARTIFACTS_DESTINATION/
1298
1304
elif [[ " $RUN_ON " == " aws" ]]; then
1299
- docker-machine scp $DOCKER_MACHINE :/home/storage/$ARTIFACTS_FILENAME .json $ARTIFACTS_DESTINATION /
1300
- docker-machine scp $DOCKER_MACHINE :/home/storage/$ARTIFACTS_FILENAME .log.gz $ARTIFACTS_DESTINATION /
1301
- docker-machine scp $DOCKER_MACHINE :/home/storage/$ARTIFACTS_FILENAME .conf.gz $ARTIFACTS_DESTINATION /
1305
+ mkdir $ARTIFACTS_DESTINATION /$ARTIFACTS_FILENAME
1306
+ docker-machine scp $DOCKER_MACHINE :/home/storage/$ARTIFACTS_FILENAME /* $ARTIFACTS_DESTINATION /$ARTIFACTS_FILENAME /
1307
+ # docker-machine scp $DOCKER_MACHINE:/home/storage/$ARTIFACTS_FILENAME.json $ARTIFACTS_DESTINATION/
1308
+ # docker-machine scp $DOCKER_MACHINE:/home/storage/$ARTIFACTS_FILENAME.log.gz $ARTIFACTS_DESTINATION/
1309
+ # docker-machine scp $DOCKER_MACHINE:/home/storage/$ARTIFACTS_FILENAME.conf.gz $ARTIFACTS_DESTINATION/
1302
1310
else
1303
1311
err " ASSERT: must not reach this point"
1304
1312
exit 1
@@ -1325,8 +1333,8 @@ echo -e " Report: $ARTIFACTS_DESTINATION/$ARTIFACTS_FILENAME.json"
1325
1333
echo -e " Query log: $ARTIFACTS_DESTINATION /$ARTIFACTS_FILENAME .log.gz"
1326
1334
echo -e " -------------------------------------------"
1327
1335
echo -e " Workload summary:"
1328
- echo -e " Summarized query duration:\t" $( docker_exec cat /$MACHINE_HOME /$ARTIFACTS_FILENAME .json | jq ' .overall_stat.queries_duration' ) " ms"
1329
- echo -e " Queries:\t\t\t" $( docker_exec cat /$MACHINE_HOME /$ARTIFACTS_FILENAME .json | jq ' .overall_stat.queries_number' )
1330
- echo -e " Query groups:\t\t" $( docker_exec cat /$MACHINE_HOME /$ARTIFACTS_FILENAME .json | jq ' .normalyzed_info| length' )
1331
- echo -e " Errors:\t\t\t" $( docker_exec cat /$MACHINE_HOME /$ARTIFACTS_FILENAME .json | jq ' .overall_stat.errors_number' )
1336
+ echo -e " Summarized query duration:\t" $( docker_exec cat /$MACHINE_HOME /$ARTIFACTS_FILENAME / $ARTIFACTS_FILENAME .json | jq ' .overall_stat.queries_duration' ) " ms"
1337
+ echo -e " Queries:\t\t\t" $( docker_exec cat /$MACHINE_HOME /$ARTIFACTS_FILENAME / $ARTIFACTS_FILENAME .json | jq ' .overall_stat.queries_number' )
1338
+ echo -e " Query groups:\t\t" $( docker_exec cat /$MACHINE_HOME /$ARTIFACTS_FILENAME / $ARTIFACTS_FILENAME .json | jq ' .normalyzed_info| length' )
1339
+ echo -e " Errors:\t\t\t" $( docker_exec cat /$MACHINE_HOME /$ARTIFACTS_FILENAME / $ARTIFACTS_FILENAME .json | jq ' .overall_stat.errors_number' )
1332
1340
echo -e " -------------------------------------------"
0 commit comments