@@ -7,7 +7,6 @@ OUTPUT_FILE=$2
77DURATION=$3
88VERBOSE=${4:- 0}
99SIGNAL_FILE=$5
10- SIGNALBACK_FILE=" /tmp/signalback/nso_collect_start_signalback_$$ "
1110STARTI=$6
1211
1312if [ -z " $PID " ] || [ -z " $OUTPUT_FILE " ] || [ -z " $DURATION " ]; then
@@ -36,25 +35,32 @@ mkdir -p "$OUTPUT_DIR"
3635
3736for (( i= $STARTI ;i<= $DURATION ;i++ ))
3837do
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}' )
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
0 commit comments