Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
075d09c
Add support for ShareConsumer in soak client and update usage instruc…
Ankith-Confluent Apr 14, 2026
18ca7ef
Refactor share consumer metrics to use generic consumer counters in s…
Ankith-Confluent Apr 14, 2026
b816d84
Update share consumer method from consume_batch to poll in SoakClient
Ankith-Confluent May 20, 2026
333fdf1
Remove statistics configuration for ShareConsumer to prevent crashes
Ankith-Confluent Jun 2, 2026
d59a21a
Add explicit mode support for ShareConsumer with alternating commit s…
Ankith-Confluent Jun 4, 2026
f2e37c8
Refactor explicit mode handling in ShareConsumer to alternate between…
Ankith-Confluent Jun 6, 2026
f99d469
Improve error logging for ShareConsumer commit_sync by detailing part…
Ankith-Confluent Jun 11, 2026
32fcfa8
Add script for perf testing with some metrics removed
ojasvajain Jun 12, 2026
613c318
Enhance SoakRecord name generation to pad with base label for consist…
Ankith-Confluent Jun 12, 2026
740df42
Refactor SoakRecord name generation to use static padding for consist…
Ankith-Confluent Jun 12, 2026
ce03c95
Optimize performance by batching OTEL counter updates every 1000 mess…
Ankith-Confluent Jun 12, 2026
6e384c9
Disable on_delivery callback in SoakClient to reduce overhead during …
Ankith-Confluent Jun 12, 2026
604789f
Make poll non blocking in producer + batch multiple produce calls
ojasvajain Jun 12, 2026
d3dfea7
Optimize performance by updating OTEL counters per message and re-ena…
Ankith-Confluent Jun 19, 2026
6c92bcc
Increase static padding in SoakRecord for consistent serialized value…
Ankith-Confluent Jun 19, 2026
0353013
Increase static padding in SoakRecord for improved serialized value size
Ankith-Confluent Jun 19, 2026
4a32ba1
Remove unused statistics configuration from SoakClient to prevent cra…
Ankith-Confluent Jun 23, 2026
b219457
Remove 'enable.partition.eof' from ShareConsumer configuration to ens…
Ankith-Confluent Jun 23, 2026
6533268
Refactor SoakClient to streamline gauge setting and improve error log…
Ankith-Confluent Jul 1, 2026
71d53f6
Validate SHARE flag when EXPLICIT mode is enabled in soak tests
Ankith-Confluent Jul 1, 2026
f2c1d28
Refactor soakclient and soakclient_perf for improved readability and …
Ankith-Confluent Jul 1, 2026
ab89543
Adress the comments
Ankith-Confluent Jul 1, 2026
87bc749
Add --perf flag for high-throughput mode in soak tests and remove soa…
Ankith-Confluent Jul 2, 2026
2f6e5ab
Enforce SHARE flag requirement for PERF mode in soak tests
Ankith-Confluent Jul 2, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion tests/soak/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,12 @@ OpenTelemetry reporting supported through OTLP.
5. Run some tests
```bash
TESTID=<testid> ./run.sh ccloud.config
```
```

## Share Consumer

To run with a share consumer instead of the regular consumer:
```bash
SHARE=true TESTID=<testid> ./run.sh ccloud.config
```
Requires KIP-932 compatible librdkafka and broker.
26 changes: 25 additions & 1 deletion tests/soak/run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,36 @@ topic="pysoak-$TESTID-$librdkafka_version"
logfile="${TESTID}.log.bz2"
limit=$((50 * 1024 * 1024)) # 50MB
export HOSTNAME=$(hostname)

share_flag=""
if [[ "${SHARE:-}" == "true" ]]; then
share_flag="--share"
fi

explicit_flag=""
if [[ "${EXPLICIT:-}" == "true" ]]; then
if [[ "${SHARE:-}" != "true" ]]; then
echo "ERROR: EXPLICIT=true requires SHARE=true" >&2
exit 1
fi
explicit_flag="--explicit"
fi

perf_flag=""
if [[ "${PERF:-}" == "true" ]]; then
if [[ "${SHARE:-}" != "true" ]]; then
echo "ERROR: PERF=true requires SHARE=true" >&2
exit 1
fi
perf_flag="--perf"
fi

echo "Starting soak client using topic $topic. Logging to $logfile."
set +x
while [ "$run" = true ]; do
# Ignore SIGINT in children (inherited)
trap "" SIGINT
time opentelemetry-instrument $testdir/soakclient.py -i $TESTID -t $topic -r 80 -f $1 |& tee /dev/tty | bzip2 > $logfile &
time opentelemetry-instrument $testdir/soakclient.py -i $TESTID -t $topic -r 80 -f $1 $share_flag $explicit_flag $perf_flag |& tee /dev/tty | bzip2 > $logfile &
PID=$!
terminate_last() {
# List children of $PID only
Expand Down
Loading