1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
|
#!/bin/bash
#
# SPDX-FileCopyrightText: 2012 David Goulet <dgoulet@efficios.com>
#
# SPDX-License-Identifier: LGPL-2.1-only
TEST_DESC="UST tracer - Testing low events throughput"
CURDIR=$(dirname $0)/
TESTDIR=$CURDIR/../../..
BIN_NAME="gen-events"
SESSION_NAME="low-throughput"
EVENT_NAME="tp:slow"
NUM_TESTS=8
source $TESTDIR/utils/utils.sh
if [ ! -x "$CURDIR/$BIN_NAME" ]; then
BAIL_OUT "No UST nevents binary detected."
fi
TRACE_PATH=$(mktemp -d -t tmp.test_low_throughput_ust_trace_path.XXXXXX)
# MUST set TESTDIR before calling those functions
plan_tests $NUM_TESTS
print_test_banner "$TEST_DESC"
bail_out_if_no_babeltrace
start_lttng_sessiond
create_lttng_session_ok $SESSION_NAME $TRACE_PATH
enable_ust_lttng_event_ok $SESSION_NAME $EVENT_NAME
start_lttng_tracing_ok $SESSION_NAME
# This is going to take 20 minutes
./$CURDIR/$BIN_NAME >/dev/null 2>&1
stop_lttng_tracing_ok $SESSION_NAME
destroy_lttng_session_ok $SESSION_NAME
stop_lttng_sessiond
# Validate test
last_val=0
out=0
"_run_babeltrace_cmd" $TRACE_PATH | while read event;
do
val=$(echo $event | cut -f10 -d" ")
val=${val%?}
th=$(echo $event | cut -f13 -d " ")
if [ $th = '"one"' ]; then
((last_val++))
# We expect here a continous value from 1 to 20
if [ $last_val -ne $val ]; then
diag "One minute event failed ($val)"
out=1
break
fi
elif [ $th = '"ten"' ]; then
# Test 10 minutes counter
if [ $val -ne 10 ]; then
# Test 20 minutes counter
if [ $val -ne 20 ]; then
diag "Ten minutes event failed ($val)"
out=1
break
fi
fi
elif [ $th = '"twenty"' ]; then
# Test 20 minutes counter
if [ $val -ne 20 ]; then
diag "Twenty minutes event failed ($val)"
out=1
break
fi
fi
done
ok $out "Trace validation"
rm -rf $TRACE_PATH
|