Skip to content

Commit 7bec921

Browse files
author
Qi Li (leeli4)
committed
fix sync bug
1 parent 96308d0 commit 7bec921

File tree

2 files changed

+38
-27
lines changed

2 files changed

+38
-27
lines changed

collect.sh

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ OUTPUT_FILE=$2
77
DURATION=$3
88
VERBOSE=${4:-0}
99
SIGNAL_FILE=$5
10-
SIGNALBACK_FILE="/tmp/signalback/nso_collect_start_signalback_$$"
1110
STARTI=$6
1211

1312
if [ -z "$PID" ] || [ -z "$OUTPUT_FILE" ] || [ -z "$DURATION" ]; then
@@ -36,25 +35,32 @@ mkdir -p "$OUTPUT_DIR"
3635

3736
for (( i=$STARTI;i<=$DURATION;i++ ))
3837
do
39-
38+
SIGNALBACK_FILE="/tmp/signalback/nso_collect_start_signalback_$$_$i"
39+
4040
# Wait for centralized controller signal
4141
if [ ! -z "$SIGNAL_FILE" ]; then
4242
log_verbose "Waiting for start signal..."
4343
#echo "Waiting for start signal..."
44+
4445
while true; do
45-
if [ ! -f "$SIGNAL_FILE" ]; then
46-
sleep 0.1
47-
elif [[ $(cat $SIGNAL_FILE) -ne $i ]];then
48-
sleep 0.1
46+
if [ -f "$SIGNAL_FILE" ]; then
47+
Data=$(cat $SIGNAL_FILE 2>/dev/null || echo 12345678999999 )
48+
if [[ $Data -eq $i ]]; then
49+
break
50+
log_verbose "Start signal received. Beginning data collection for PID $PID..."
51+
else
52+
sleep 0.1
53+
fi
4954
else
50-
break
55+
sleep 0.1
5156
fi
5257
done
53-
5458

55-
log_verbose "Start signal received. Beginning data collection for PID $PID..."
59+
else
60+
echo "SIGNAL_FILE Parameter not provided"
5661
fi
57-
rm -f $SIGNALBACK_FILE
62+
63+
#rm -f $SIGNALBACK_FILE
5864
# Tick!
5965
ALO_TOTAL=$(cat /proc/meminfo | grep 'Committed_AS' | awk -F' ' '{print $2}')
6066
Limit=$(cat /proc/meminfo | grep 'CommitLimit' | awk -F' ' '{print $2}')
@@ -63,11 +69,14 @@ do
6369

6470
log_verbose "Monitoring PID: $PID"
6571
ALO_PID=$(pmap -d $PID | grep "writeable/private" | awk -F' ' '{print $4}' | egrep -o '[0-9.]+' )
66-
PHY=$(cat /proc/$PID/status | grep VmRSS | awk -F' ' '{print $2}')
72+
PHY=$(cat /proc/$PID/status 2>/dev/null || echo "" | grep VmRSS | awk -F' ' '{print $2}')
6773

6874
if [ ! -z "$ALO_PID" ] && [ ! -z "$PHY" ]; then
6975
echo $TIME" "$PHY" "$ALO_PID" "$ALO_TOTAL" "$Limit >> "$OUTPUT_FILE"
7076
log_verbose "$i second is collected to $OUTPUT_FILE"
77+
else
78+
echo $TIME" "0" "0" "$ALO_TOTAL" "$Limit >> "$OUTPUT_FILE"
79+
log_verbose "$i second is collected to $OUTPUT_FILE"
7180
fi
7281
touch $SIGNALBACK_FILE
7382

plot.sh

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ echo "====================================== Collection for for all process ====
7676
SIGNAL_FILE="/tmp/nso_collect_start_signal_$$"
7777
rm -f "$SIGNAL_FILE"
7878

79-
rm -rf "/tmp/signalback"
79+
rm -rf /tmp/signalback
8080
mkdir "/tmp/signalback"
8181

8282
# Find and collect for each process type
@@ -132,6 +132,19 @@ do
132132

133133

134134

135+
sleep 0.1
136+
# Signal all processes to start collecting
137+
echo $i > $SIGNAL_FILE
138+
139+
while [[ $(ps -aux | grep "collect.sh" | wc -l) -gt $(($(ls "/tmp/signalback/" | grep "nso_collect_start_signalback_.*_$i" | wc -l)+1)) ]]; do
140+
sleep 0.1
141+
done
142+
143+
# Clean up signal file
144+
rm -f $SIGNAL_FILE
145+
rm -rf /tmp/signalback/*
146+
147+
135148
END_TIME=$(date +%s%N)
136149
ELAPSED=$(($END_TIME - $START_TIME))
137150
SLEEP_TIME=$(($NS - $ELAPSED))
@@ -141,27 +154,16 @@ do
141154
sleep $SLEEP_SECONDS
142155
fi
143156

144-
# Signal all processes to start collecting
145-
echo "$i" > $SIGNAL_FILE
146-
147-
while [[ $(ps -aux | grep "collect.sh" | wc -l) -gt $(($(ls "/tmp/signalback" | wc -l)+1)) ]]; do
148-
149-
sleep 0.1
150-
done
151-
# Clean up signal file
152-
rm -f "$SIGNAL_FILE"
153-
154-
rm -rf "/tmp/signalback"
155-
mkdir "/tmp/signalback"
156-
157157
echo -ne "Data Collection - $i second out of $DURATION second"\\r
158158

159-
160159
done
161160

161+
162162
wait
163+
164+
163165
pkill -f collect.sh
164-
rm -rf "/tmp/signalback"
166+
rm -rf /tmp/signalback
165167
echo ""
166168
echo "Data Collection - OK!"
167169

0 commit comments

Comments
 (0)