X-Git-Url: http://git.efficios.com/?p=lttng-tools.git;a=blobdiff_plain;f=tests%2Fstress%2Ftest_multi_sessions_per_uid_5app_streaming_kill_relayd;h=d0121e32e429df5e05a691b7df00425e2d867eae;hp=4ff927646b97e6f347d6508bd836e40128295f1a;hb=3be453c9ec6469235f0dc6cdaec9d55f0a6ee517;hpb=b3300ee248b2ad8660b2f88a846469740288ebcf diff --git a/tests/stress/test_multi_sessions_per_uid_5app_streaming_kill_relayd b/tests/stress/test_multi_sessions_per_uid_5app_streaming_kill_relayd index 4ff927646..d0121e32e 100755 --- a/tests/stress/test_multi_sessions_per_uid_5app_streaming_kill_relayd +++ b/tests/stress/test_multi_sessions_per_uid_5app_streaming_kill_relayd @@ -24,6 +24,7 @@ NR_SESSION=5 NR_LOOP=100000 COREDUMP_FILE=$(cat /proc/sys/kernel/core_pattern) NUM_TESTS=16 +APPS_PID= TEST_DESC="Stress test - $NR_SESSION sessions per UID streaming with $NR_APP apps. The relayd is killed sporadically" @@ -40,18 +41,9 @@ function enable_channel_per_uid() ok $? "Enable channel $channel_name per UID for session $sess_name" } -function lttng_create_session_uri -{ - local name=$1 - - # Create session with default path - $TESTDIR/../src/bin/lttng/$LTTNG_BIN create $name -U net://localhost >/dev/null 2>&1 - ok $? "Create session on net://localhost" -} - function check_sessiond() { - if [ -z "$(pidof lt-lttng-sessiond)" ]; then + if [ -z "$(pgrep --full lt-lttng-sessiond)" ]; then local str_date=$(date +%H%M%S-%d%m%Y) diag "!!!The session daemon died unexpectedly!!!" @@ -65,23 +57,19 @@ function check_sessiond() function start_sessiond() { - local SESSIOND_BIN="lttng-sessiond" - validate_kernel_version if [ $? -ne 0 ]; then fail "Start session daemon" BAIL_OUT "*** Kernel too old for session daemon tests ***" fi - if [ -z $(pidof lt-$SESSIOND_BIN) ]; then + if [ -z $(pgrep --full lt-$SESSIOND_BIN) ]; then # We have to start it like this so the ulimit -c is used by this # process. Also, we collect any error message printed out. - #$TESTDIR/../src/bin/lttng-sessiond/$SESSIOND_BIN --quiet --consumerd32-path="$TESTDIR/../src/bin/lttng-consumerd/lttng-consumerd" --consumerd64-path="$TESTDIR/../src/bin/lttng-consumerd/lttng-consumerd" >$LOG_FILE_SESSIOND 2>&1 & - $TESTDIR/../src/bin/lttng-sessiond/$SESSIOND_BIN --verbose-consumer -vvv --consumerd32-path="$TESTDIR/../src/bin/lttng-consumerd/lttng-consumerd" --consumerd64-path="$TESTDIR/../src/bin/lttng-consumerd/lttng-consumerd" >$LOG_FILE_SESSIOND 2>&1 & - #$TESTDIR/../src/bin/lttng-sessiond/$SESSIOND_BIN --consumerd32-path="$TESTDIR/../src/bin/lttng-consumerd/lttng-consumerd" --consumerd64-path="$TESTDIR/../src/bin/lttng-consumerd/lttng-consumerd" >$LOG_FILE_SESSIOND 2>&1 & + #$TESTDIR/../src/bin/lttng-sessiond/$SESSIOND_BIN --quiet --background --consumerd32-path="$TESTDIR/../src/bin/lttng-consumerd/lttng-consumerd" --consumerd64-path="$TESTDIR/../src/bin/lttng-consumerd/lttng-consumerd" >$LOG_FILE_SESSIOND 2>&1 + $TESTDIR/../src/bin/lttng-sessiond/$SESSIOND_BIN --verbose-consumer -vvv --background --consumerd32-path="$TESTDIR/../src/bin/lttng-consumerd/lttng-consumerd" --consumerd64-path="$TESTDIR/../src/bin/lttng-consumerd/lttng-consumerd" >$LOG_FILE_SESSIOND 2>&1 + #$TESTDIR/../src/bin/lttng-sessiond/$SESSIOND_BIN --background --consumerd32-path="$TESTDIR/../src/bin/lttng-consumerd/lttng-consumerd" --consumerd64-path="$TESTDIR/../src/bin/lttng-consumerd/lttng-consumerd" >$LOG_FILE_SESSIOND 2>&1 status=$? - # Wait for sessiond to bootstrap - sleep 2 ok $status "Start session daemon" fi } @@ -89,9 +77,8 @@ function start_sessiond() function start_relayd { local opt=$1 - local RELAYD_BIN="lttng-relayd" - if [ -z $(pidof lt-$RELAYD_BIN) ]; then + if [ -z $(pgrep --full lt-$RELAYD_BIN) ]; then $TESTDIR/../src/bin/lttng-relayd/$RELAYD_BIN $opt >$LOG_FILE_RELAYD 2>&1 & ok $? "Start lttng-relayd (opt: \"$opt\")" fi @@ -99,7 +86,7 @@ function start_relayd function check_relayd() { - if [ -z "$(pidof lt-lttng-relayd)" ]; then + if [ -z "$(pgrep --full lt-lttng-relayd)" ]; then local str_date=$(date +%H%M%S-%d%m%Y) #diag "Relay daemon died. Starting it again" @@ -114,25 +101,25 @@ test_stress() { for b in $(seq 1 $NR_LOOP); do for a in $(seq 1 $NR_SESSION); do - lttng_create_session_uri $SESSION_NAME-$a + create_lttng_session_uri $SESSION_NAME-$a net://localhost check_sessiond check_relayd enable_channel_per_uid $SESSION_NAME-$a $CHANNEL_NAME check_sessiond check_relayd - enable_ust_lttng_event $SESSION_NAME-$a $EVENT_NAME + enable_ust_lttng_event_ok $SESSION_NAME-$a $EVENT_NAME check_sessiond check_relayd - start_lttng_tracing $SESSION_NAME-$a + start_lttng_tracing_ok $SESSION_NAME-$a check_sessiond check_relayd done for a in $(seq 1 $NR_SESSION); do - stop_lttng_tracing $SESSION_NAME-$a + stop_lttng_tracing_ok $SESSION_NAME-$a check_sessiond check_relayd - destroy_lttng_session $SESSION_NAME-$a + destroy_lttng_session_ok $SESSION_NAME-$a check_sessiond check_relayd done @@ -144,8 +131,11 @@ test_stress() function cleanup() { diag "Cleaning up!" - killall -9 $LAUNCH_APP - killall -9 $KILL_RELAYD_HELPER + for p in ${APPS_PID}; do + kill ${p} + wait ${p} 2>/dev/null + done + APPS_PID= stop_lttng_sessiond stop_lttng_relayd } @@ -154,10 +144,10 @@ function sighandler() { cleanup #rm $LOG_FILE_SESSIOND $LOG_FILE_RELAYD - exit 1 + full_cleanup } -trap sighandler SIGINT +trap sighandler SIGINT SIGTERM # Make sure we collect a coredump if possible. ulimit -c unlimited @@ -176,8 +166,11 @@ diag "Starting applications launcher" # Start NR_APP applications script that will spawn apps non stop. ./$TESTDIR/stress/$LAUNCH_APP $NR_APP & +APPS_PID="${APPS_PID} ${!}" + # Launch the helper script that will randomly kill the relayd at vitam eternam. ./$TESTDIR/stress/$KILL_RELAYD_HELPER 1 1 & +APPS_PID="${APPS_PID} ${!}" test_stress out=$?