Changeset 855 for trunk/libIGCM/libIGCM_debug/libIGCM_debug.ksh
- Timestamp:
- 04/26/13 17:08:20 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/libIGCM/libIGCM_debug/libIGCM_debug.ksh
r830 r855 37 37 echo "Stack of an libIGCM job :" > ${StackFileLocation}/stack 38 38 fi 39 40 if [ -f ${StackFileLocation}/fullstack ] ; 41 then 42 echo "Full stack of an libIGCM job :" >> ${StackFileLocation}/fullstack 43 else 44 echo "Full stack of an libIGCM job :" > ${StackFileLocation}/fullstack 45 fi 46 39 47 fi 40 48 … … 71 79 #D- 72 80 function IGCM_debug_CallStack { 73 echo74 echo "!!!!!!!!!!!!!!!!!!!!!!!!!!"75 echo "!! IGCM_debug_CallStack !!"76 echo "!------------------------!"77 echo81 #echo 82 #echo "!!!!!!!!!!!!!!!!!!!!!!!!!!" 83 #echo "!! IGCM_debug_CallStack !!" 84 #echo "!------------------------!" 85 #echo 78 86 if ( $DEBUG_debug ) ; then 79 87 # La pile d'appels est affichée de la plus vieille à la plus récente … … 84 92 decal=0 85 93 until [ $decal -eq ${i} ]; do 86 printf -- ' ' 94 printf -- ' ' >> ${StackFileLocation}/fullstack 87 95 (( decal = decal + 1 )) 88 96 done 89 97 echo "$i - ${IGCM_debug_Stack[$(( $IGCM_debug_LenStack-$i-1 ))]}"\ 90 "(${IGCM_debug_StackArgs[$(( $IGCM_debug_LenStack-$i-1 ))]})" 98 "(${IGCM_debug_StackArgs[$(( $IGCM_debug_LenStack-$i-1 ))]})" >> ${StackFileLocation}/fullstack 91 99 ((i = i + 1)) 92 100 done 93 echo "!------------------------!"101 #echo "!------------------------!" 94 102 fi 95 103 } … … 100 108 #D- 101 109 function IGCM_debug_PushStack { 110 102 111 if ( $DEBUG_debug ) ; then 103 112 typeset decal inputs … … 108 117 (( decal = decal + 1 )) 109 118 done 110 echo "> ${IGCM_debug_LenStack} : ${@}" >> ${StackFileLocation}/stack111 119 112 120 # STORE input list in an indexed array … … 121 129 IGCM_debug_StackArgs[0]=$(echo ${INPUTS[*]:1} | sed -e "s/\ /,/g") 122 130 fi 131 132 # Fill the stack file 133 echo "> ${IGCM_debug_LenStack} : ${@}" >> ${StackFileLocation}/stack 134 135 # Fill the rabbitMQ queue 136 if [ X${ActivateBigBro} = Xtrue ] ; then 137 code=2000 138 # 139 encodedBody=$( echo "{\"code\":\"${code}\",\"jobid\":\"${jobid}\",\"nesting\":\"${IGCM_debug_LenStack}\",\"command\":\"${INPUTS[*]}\",\"timestamp\":\"$( date +"%Y-%m-%d-%T" )\"}" | base64 -w 0 ) 140 # 141 #sendAMQPMsg -h localhost -p 5672 -f ${SUBMIT_DIR}/config.card.base64 -b ${encodedBody} 142 echo sendAMQPMsg -h localhost -p 5672 -b ${encodedBody} >> /tmp/sendAMQP.history.txt 143 sendAMQPMsg -h localhost -p 5672 -b ${encodedBody} 144 status=$? 145 if [ ${status} -gt 0 ] ; then 146 IGCM_debug_Print 2 "IGCM_debug_PushStack : command sendAMQPMsg failed error code ${status}" 147 echo sendAMQPMsg -h localhost -p 5672 -b ${encodedBody} 148 exit 149 fi 150 fi 151 152 # Increment LenStack 123 153 (( IGCM_debug_LenStack = IGCM_debug_LenStack + 1 )) 124 154 125 155 # If you want to print CallStack each time : 126 #IGCM_debug_CallStack156 IGCM_debug_CallStack 127 157 fi 128 158 } … … 134 164 function IGCM_debug_PopStack { 135 165 if ( $DEBUG_debug ) ; then 136 if ( ${ExitFlag} ) ; then 137 echo '!!! ExitFlag has been activated !!!' >> ${StackFileLocation}/stack 138 fi 166 139 167 typeset decal 140 168 if [ "${IGCM_debug_Stack[0]}" = "${1}" ]; then … … 151 179 (( decal = decal + 1 )) 152 180 done 153 echo "< ${IGCM_debug_LenStack} : ${@}" >> ${StackFileLocation}/stack 181 182 if ( ${ExitFlag} ) ; then 183 # Inform the stack file 184 echo '!!! ExitFlag has been activated !!!' >> ${StackFileLocation}/stack 185 # Inform the rabbitMQ queue 186 if [ X${ActivateBigBro} = Xtrue ] ; then 187 code=9000 188 # 189 encodedBody=$( echo "{\"code\":\"${code}\",\"jobid\":\"${jobid}\",\"status\":\"NOK\",\"out\":\"true\",\"nesting\":\"${IGCM_debug_LenStack}\",\"command\":\"${INPUTS[*]}\",\"timestamp\":\"$( date +"%Y-%m-%d-%T" )\"}" | base64 -w 0 ) 190 # 191 #sendAMQPMsg -h localhost -p 5672 -f ${SUBMIT_DIR}/config.card -b ${encodedBody} 192 echo sendAMQPMsg -h localhost -p 5672 -b ${encodedBody} >> /tmp/sendAMQP.history.txt 193 sendAMQPMsg -h localhost -p 5672 -b ${encodedBody} 194 status=$? 195 if [ ${status} -gt 0 ] ; then 196 IGCM_debug_Print 2 "IGCM_debug_PopStack : command sendAMQPMsg failed error code ${status}" 197 echo sendAMQPMsg -h localhost -p 5672 -b ${encodedBody} 198 exit 199 fi 200 fi 201 else 202 # Inform the stack file 203 echo "< ${IGCM_debug_LenStack} : ${@}" >> ${StackFileLocation}/stack 204 205 # Inform the rabbitMQ queue 206 if [ X${ActivateBigBro} = Xtrue ] ; then 207 code=3000 208 # 209 encodedBody=$( echo "{\"code\":\"${code}\",\"jobid\":\"${jobid}\",\"status\":\"OK\",\"out\":\"true\",\"nesting\":\"${IGCM_debug_LenStack}\",\"command\":\"${INPUTS[*]}\",\"timestamp\":\"$( date +"%Y-%m-%d-%T" )\"}" | base64 -w 0 ) 210 211 # 212 #sendAMQPMsg -h localhost -p 5672 -f ${SUBMIT_DIR}/config.card.base64 -b ${encodedBody} 213 echo sendAMQPMsg -h localhost -p 5672 -b ${encodedBody} >> /tmp/sendAMQP.history.txt 214 sendAMQPMsg -h localhost -p 5672 -b ${encodedBody} 215 status=$? 216 if [ ${status} -gt 0 ] ; then 217 IGCM_debug_Print 2 "IGCM_debug_PopStack : command sendAMQPMsg failed error code ${status}" 218 echo sendAMQPMsg -h localhost -p 5672 -b ${encodedBody} 219 exit 220 fi 221 fi 222 fi 154 223 155 224 if [ ${IGCM_debug_LenStack} = 0 ]; then … … 166 235 fi 167 236 fi 168 #IGCM_debug_CallStack 237 IGCM_debug_CallStack 238 } 239 240 #D-#================================================================== 241 #D-function IGCM_debug_ActivateBigBro 242 #D-* Purpose: switch rabbitMQ on 243 #D- 244 function IGCM_debug_ActivateBigBro { 245 IGCM_debug_PushStack "IGCM_debug_ActivateBigBro" 246 247 set -vx 248 249 # Fill the rabbitMQ queue 250 if [ X${BigBrother}=Xtrue ] ; then 251 jobid=${config_UserChoices_JobName}.${config_UserChoices_ExperimentName}.${config_UserChoices_SpaceName}.${config_UserChoices_TagName}.p86denv.TGCC.CURIE 252 if ( ${FirstInitialize} ) ; then 253 code=0000 254 else 255 code=1000 256 fi 257 encodedBody=$( echo "{\"code\":\"${code}\",\"jobid\":\"${jobid}\",\"status\":\"OK\",\"out\":\"false\",\"nesting\":\"${IGCM_debug_LenStack}\",\"timestamp\":\"$( date +"%Y-%m-%d-%T" )\"}" | base64 -w 0 ) 258 # 259 cat ${SUBMIT_DIR}/config.card | base64 -w 0 > ${SUBMIT_DIR}/config.card.base64 260 # 261 #sendAMQPMsg -h localhost -p 5672 -f ${SUBMIT_DIR}/config.card.base64 -b ${encodedBody} 262 echo sendAMQPMsg -h localhost -p 5672 -f ${SUBMIT_DIR}/config.card.base64 -b ${encodedBody} >> /tmp/sendAMQP.history.txt 263 sendAMQPMsg -h localhost -p 5672 -f ${SUBMIT_DIR}/config.card.base64 -b ${encodedBody} 264 status=$? 265 if [ ${status} -gt 0 ] ; then 266 IGCM_debug_Print 2 "IGCM_debug_ActivateBigBro : command failed error code ${status}" 267 IGCM_debug_Exit "IGCM_debug_ActivateBigBro" 268 fi 269 ActivateBigBro=true 270 fi 271 IGCM_debug_PopStack "IGCM_debug_ActivateBigBro" 169 272 } 170 273 … … 176 279 IGCM_debug_PushStack "IGCM_debug_Exit" 177 280 echo "IGCM_debug_Exit : " "${@}" 178 IGCM_debug_CallStack281 #IGCM_debug_CallStack 179 282 ExitFlag=true 180 283 IGCM_debug_PopStack "IGCM_debug_Exit" … … 198 301 IGCM_sys_Tree ${R_SAVE} 199 302 echo 303 fi 304 if [ X${ActivateBigBro} = Xtrue ] ; then 305 code=9999 306 # 307 encodedBody=$( echo "{\"code\":\"${code}\",\"jobid\":\"${jobid}\",\"status\":\"FATAL\",\"timestamp\":\"$( date +"%Y-%m-%d-%T" )\"}" | base64 -w 0 ) 308 # 309 #sendAMQPMsg -h localhost -p 5672 -f ${SUBMIT_DIR}/config.card -b ${encodedBody} 310 echo sendAMQPMsg -h localhost -p 5672 -b ${encodedBody} >> /tmp/sendAMQP.history.txt 311 sendAMQPMsg -h localhost -p 5672 -b ${encodedBody} 312 status=$? 313 if [ ${status} -gt 0 ] ; then 314 IGCM_debug_Print 2 "IGCM_debug_PopStack : command sendAMQPMsg failed error code ${status}" 315 echo sendAMQPMsg -h localhost -p 5672 -b ${encodedBody} 316 exit 317 fi 200 318 fi 201 319 # Mail notification
Note: See TracChangeset
for help on using the changeset viewer.