rsyslog/tests/stats-cee-vg.sh
Rainer Gerhards 2abe06bada
action: add batchesprocessed pstats counter
Why:
Track batch usage in pstats so operators can infer average batch size.

Impact:
Action statistics now include batchesprocessed and docs note it.

Before/After:
Before: action pstats only reported message totals.
After: action pstats reports processed and batchesprocessed.

Technical Overview:
- Add a batchesprocessed stats counter to action state.
- Register the counter with the core.action stats object.
- Increment it for direct actions and per processed batch.
- Document the counter in rsyslog_statistic_counter.rst.

closes https://github.com/rsyslog/rsyslog/issues/503

With the help of AI-Agents: ChatGPT
2026-01-24 11:32:54 +01:00

37 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
# added 2016-03-30 by singh.janmejay
# This file is part of the rsyslog project, released under ASL 2.0
uname
if [ $(uname) = "FreeBSD" ] ; then
echo "This test currently does not work on FreeBSD."
exit 77
fi
echo ===============================================================================
echo \[stats-cee-vg.sh\]: test for verifying stats are reported correctly cee format with valgrind
. ${srcdir:=.}/diag.sh init
generate_conf
add_conf '
ruleset(name="stats") {
action(type="omfile" file="'${RSYSLOG_DYNNAME}'.out.stats.log")
}
module(load="../plugins/impstats/.libs/impstats" interval="1" severity="7" resetCounters="on" Ruleset="stats" bracketing="on" format="cee")
if ($msg == "this condition will never match") then {
action(name="an_action_that_is_never_called" type="omfile" file=`echo $RSYSLOG_OUT_LOG`)
}
'
startup_vg
injectmsg_file $srcdir/testsuites/dynstats_input_1
wait_queueempty
wait_for_stats_flush ${RSYSLOG_DYNNAME}.out.stats.log
echo doing shutdown
shutdown_when_empty
echo wait on shutdown
wait_shutdown_vg
check_exit_vg
custom_content_check '@cee: { "name": "an_action_that_is_never_called", "origin": "core.action", "processed": 0, "batchesprocessed": 0, "failed": 0, "suspended": 0, "suspended.duration": 0, "resumed": 0 }' "${RSYSLOG_DYNNAME}.out.stats.log"
exit_test