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

Commit 0fae819

Browse files
committed
Generate csv for mpstat and meminfo
1 parent 3f1d5ec commit 0fae819

File tree

2 files changed

+37
-14
lines changed

2 files changed

+37
-14
lines changed

nancy_run.sh

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1470,8 +1470,7 @@ function apply_backup(){
14701470
#######################################
14711471
function rsync_backup(){
14721472
msg "Restore(rsync) database from backup."
1473-
docker_exec bash -c "sudo /etc/init.d/postgresql stop"
1474-
sleep 10
1473+
stop_postgres
14751474
OP_START_TIME=$(date +%s);
14761475
docker_exec bash -c "rsync -av /storage/backup/pgdata/ /storage/postgresql/$PG_VERSION/main" || true
14771476
END_TIME=$(date +%s);
@@ -1549,8 +1548,9 @@ if [[ "$RUN_ON" == "aws" ]]; then
15491548
#docker_exec bash -c "mkdir -p ${MACHINE_HOME}/storage"
15501549

15511550
msg "Move PGDATA to /storage (machine's /home/storage)..."
1552-
docker_exec bash -c "sudo /etc/init.d/postgresql stop ${VERBOSE_OUTPUT_REDIRECT}"
1553-
sleep 10 # wait for postgres stopped
1551+
stop_postgres
1552+
#docker_exec bash -c "sudo /etc/init.d/postgresql stop ${VERBOSE_OUTPUT_REDIRECT}"
1553+
#sleep 10 # wait for postgres stopped
15541554
docker_exec bash -c "sudo mv /var/lib/postgresql /storage/"
15551555
docker_exec bash -c "ln -s /storage/postgresql /var/lib/postgresql"
15561556

@@ -2212,16 +2212,7 @@ function start_monitoring {
22122212
[[ "$ret_code" -ne "0" ]] && err "WARNING: Can't execute iostat"
22132213

22142214
# meminfo
2215-
memInfoMonitoring="#!/bin/bash\n\n \
2216-
while true; do\n \
2217-
date --rfc-3339=ns >> ${MACHINE_HOME}/${ARTIFACTS_DIRNAME}/meminfo.${run_number}.log\n \
2218-
cat /proc/meminfo >> ${MACHINE_HOME}/${ARTIFACTS_DIRNAME}/meminfo.${run_number}.log\n \
2219-
echo \"\" >> ${MACHINE_HOME}/${ARTIFACTS_DIRNAME}/meminfo.${run_number}.log\n \
2220-
sleep ${freq}\n \
2221-
done;
2222-
"
2223-
docker_exec bash -c "echo -e \"${memInfoMonitoring}\" > ${MACHINE_HOME}/meminfo.sh && chmod 700 ${MACHINE_HOME}/meminfo.sh"
2224-
docker_exec bash -c "nohup bash -c \"${MACHINE_HOME}/meminfo.sh\" >/dev/null 2>&1 </dev/null &"
2215+
docker_exec bash -c "nohup bash -c \"export FREQ=${freq} && [[ -f ${MACHINE_HOME}/meminfo.sh ]] && ${MACHINE_HOME}/meminfo.sh\" >/dev/null 2>&1 </dev/null &"
22252216
ret_code="$?"
22262217
[[ "$ret_code" -ne "0" ]] && err "WARNING: Can't execute iostat"
22272218

@@ -2244,10 +2235,18 @@ function stop_monitoring {
22442235
# mpstat cpu
22452236
msg "Stop monitoring."
22462237
docker_exec bash -c "killall mpstat >/dev/null 2>&1"
2238+
cpu_num=0
2239+
docker_exec bash -c "echo 'time;cpu_num;%usr;%nice;%iowait;%steal' > ${MACHINE_HOME}/${ARTIFACTS_DIRNAME}/mpstat.${run_number}.csv"
2240+
while [[ $cpu_num -lt $CPU_CNT ]]; do
2241+
docker_exec bash -c "cat ${MACHINE_HOME}/${ARTIFACTS_DIRNAME}/mpstat.${run_number}.log | grep -P '^... \d\d \d\d:\d\d:\d\d \d\d:\d\d:\d\d +${cpu_num}' | awk '{print \$1\" \"\$2\" \"\$4\";\"\$5\";\"\$6\";\"\$7\";\"\$9\";\"\$12}' >> ${MACHINE_HOME}/${ARTIFACTS_DIRNAME}/mpstat.${run_number}.csv"
2242+
let cpu_num=$cpu_num+1
2243+
done
22472244
# iostat
22482245
docker_exec bash -c "killall iostat >/dev/null 2>&1"
22492246
# meminfo
22502247
docker_exec bash -c "killall meminfo.sh"
2248+
docker_exec bash -c "[[ -f /machine_home/meminfo.run.log ]] && mv /machine_home/meminfo.run.log ${MACHINE_HOME}/${ARTIFACTS_DIRNAME}/meminfo.${run_number}.log"
2249+
docker_exec bash -c "[[ -f /machine_home/meminfo.run.csv ]] && mv /machine_home/meminfo.run.csv ${MACHINE_HOME}/${ARTIFACTS_DIRNAME}/meminfo.${run_number}.csv"
22512250
msg "Generating iostat graph..."
22522251
docker_exec bash -c "cd ${MACHINE_HOME}/${ARTIFACTS_DIRNAME} && iostat-cli --data iostat.${run_number}.log plot $VERBOSE_OUTPUT_REDIRECT || true"
22532252
docker_exec bash -c "mv ${MACHINE_HOME}/${ARTIFACTS_DIRNAME}/iostat.png ${MACHINE_HOME}/${ARTIFACTS_DIRNAME}/iostat.${run_number}.png $VERBOSE_OUTPUT_REDIRECT"
@@ -2317,6 +2316,10 @@ function tune_host_machine {
23172316
}
23182317

23192318
tune_host_machine
2319+
if [[ -f ${BASH_SOURCE%/*}/tools/meminfo.sh ]]; then
2320+
copy_file ${BASH_SOURCE%/*}/tools/meminfo.sh
2321+
docker_exec bash -c "chmod +x ${MACHINE_HOME}/meminfo.sh"
2322+
fi
23202323

23212324
trap docker_cleanup_and_exit EXIT
23222325

tools/meminfo.sh

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
#!/bin/bash
2+
3+
MACHINE_HOME="/machine_home"
4+
5+
echo "time;MemFree,kB;Buffers,kB;Active(file),kB;Inactive(file),kB;SwapFree,kB;Shmem,kB;Slab,kB;PageTables,kB" > $MACHINE_HOME/meminfo.run.csv
6+
while true; do
7+
dt=$(date --rfc-3339=ns)
8+
echo "${dt}" >> $MACHINE_HOME/meminfo.run.log
9+
cat /proc/meminfo > $MACHINE_HOME/meminfo.log
10+
cat $MACHINE_HOME/meminfo.log >> $MACHINE_HOME/meminfo.run.log
11+
echo "" >> $MACHINE_HOME/meminfo.run.log
12+
meminfo="${dt}"
13+
for param in "MemFree" "Buffers" "Active\(file\)" "Inactive\(file\)" "SwapFree" "Shmem" "Slab" "PageTables"
14+
do
15+
paramValue=$(bash -c "cat ${MACHINE_HOME}/meminfo.log | grep -P '^${param}: +.+ .+' | awk '{print \$2}'")
16+
meminfo="${meminfo};${paramValue}"
17+
done
18+
echo -e "${meminfo}" >> $MACHINE_HOME/meminfo.run.csv
19+
sleep $FREQ
20+
done;

0 commit comments

Comments
 (0)