mirror of
https://github.com/rsyslog/rsyslog.git
synced 2025-12-13 04:50:41 +01:00
As a result, it did not show up in pstats. Alos, we now use the input name in worker thread to easily identify where they belong to. As thread names have very limited length, the thread naming now is "w<worker-number>/<input-name>".
51 lines
1.6 KiB
Bash
Executable File
51 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
# added 2025-02-27 by RGerhards, released under ASL 2.0
|
|
# This checks primarily that impstats and imtcp work together. There is little
|
|
# we can tell about the actual stats.
|
|
. ${srcdir:=.}/diag.sh init
|
|
export NUM_WORKERS=${NUM_WORKERS:-4}
|
|
export NUMMESSAGES=40000
|
|
export QUEUE_EMPTY_CHECK_FUNC=wait_file_lines
|
|
export STATSFILE="$RSYSLOG_DYNNAME.stats"
|
|
generate_conf
|
|
add_conf '
|
|
module(load="../plugins/imtcp/.libs/imtcp")
|
|
module(load="../plugins/impstats/.libs/impstats" log.file="'$STATSFILE'" interval="1")
|
|
|
|
input(type="imtcp" name="pstats-test" port="0" listenPortFileName="'$RSYSLOG_DYNNAME'.tcpflood_port"
|
|
workerthreads="'$NUM_WORKERS'")
|
|
|
|
template(name="outfmt" type="string" string="%msg:F,58:2%\n")
|
|
:msg, contains, "msgnum:" action(type="omfile" template="outfmt"
|
|
file="'$RSYSLOG_OUT_LOG'")
|
|
'
|
|
startup
|
|
tcpflood -m $NUMMESSAGES
|
|
echo sleeping 2secs to ensure we have at least one stats interval
|
|
sleep 2
|
|
shutdown_when_empty
|
|
wait_shutdown
|
|
|
|
cat -n $STATSFILE | grep 'w./pstats-test'
|
|
NUM_STATS=$(grep 'w./pstats-test' "$STATSFILE" | wc -l)
|
|
if [ "$NUM_WORKERS" -gt 1 ]; then
|
|
EXPECTED_COUNT=$NUM_WORKERS
|
|
else
|
|
EXPECTED_COUNT=0
|
|
fi
|
|
# Check if the count matches NUM_WORKERS
|
|
if [ "$EXPECTED_COUNT" -gt 0 ]; then
|
|
if [ "$NUM_STATS" -le "$EXPECTED_COUNT" ]; then
|
|
echo "ERROR: Expected at most $EXPECTED_COUNT lines, but found $NUM_STATS in pstats"
|
|
error_exit 1
|
|
fi
|
|
else
|
|
if [ "$NUM_STATS" -ne "$EXPECTED_COUNT" ]; then
|
|
echo "ERROR: Expected $EXPECTED_COUNT lines, but found $NUM_STATS in pstats"
|
|
error_exit 1
|
|
fi
|
|
fi
|
|
|
|
seq_check
|
|
exit_test
|