# SLIM Benchmark CI Smoke Report

- Workflow: test-slim-benchmarks
- Job: slim-benchmark-smoke
- Ref: refs/heads/main
- SHA: 6d9af38a3c27979637bb803a0c586d2a0b5e72ec

## Live Progress Markers

BENCHMARK_RESULT mode=request-reply clients=1 size=16 rate=100 repeat=1 sender_mps=95.53 observed_mps=101.09 sink_mps=49.99 sink_active_mps=101.09 sender_errors=0 sink_errors=0 node_cpu=2.83 total_cpu=18.76 mean_latency_ms=0.92 p50_latency_ms=0.91 p99_latency_ms=1.05
BENCHMARK_RESULT mode=request-reply clients=1 size=16 rate=100 repeat=2 sender_mps=95.54 observed_mps=101.04 sink_mps=49.99 sink_active_mps=101.04 sender_errors=0 sink_errors=0 node_cpu=2.84 total_cpu=18.06 mean_latency_ms=0.92 p50_latency_ms=0.92 p99_latency_ms=1.04
BENCHMARK_RESULT mode=request-reply clients=1 size=16 rate=100 repeat=3 sender_mps=95.48 observed_mps=101.03 sink_mps=49.98 sink_active_mps=101.03 sender_errors=0 sink_errors=0 node_cpu=3.78 total_cpu=18.07 mean_latency_ms=0.91 p50_latency_ms=0.91 p99_latency_ms=1.06
BENCHMARK_RESULT mode=request-reply clients=1 size=16 rate=100 repeat=4 sender_mps=95.59 observed_mps=101.05 sink_mps=50.00 sink_active_mps=101.05 sender_errors=0 sink_errors=0 node_cpu=1.89 total_cpu=15.58 mean_latency_ms=0.86 p50_latency_ms=0.86 p99_latency_ms=1.00
BENCHMARK_RESULT mode=request-reply clients=1 size=16 rate=100 repeat=5 sender_mps=95.57 observed_mps=101.10 sink_mps=49.98 sink_active_mps=101.10 sender_errors=0 sink_errors=0 node_cpu=3.78 total_cpu=18.17 mean_latency_ms=0.90 p50_latency_ms=0.89 p99_latency_ms=1.04
BENCHMARK_RESULT mode=request-reply clients=1 size=16 rate=100 repeat=6 sender_mps=95.48 observed_mps=101.03 sink_mps=49.99 sink_active_mps=101.03 sender_errors=0 sink_errors=0 node_cpu=3.78 total_cpu=18.75 mean_latency_ms=0.93 p50_latency_ms=0.92 p99_latency_ms=1.06
BENCHMARK_RESULT mode=request-reply clients=1 size=16 rate=100 repeat=7 sender_mps=95.49 observed_mps=101.03 sink_mps=49.99 sink_active_mps=101.03 sender_errors=0 sink_errors=0 node_cpu=2.83 total_cpu=18.36 mean_latency_ms=0.93 p50_latency_ms=0.93 p99_latency_ms=1.06
BENCHMARK_RESULT mode=request-reply clients=1 size=16 rate=100 repeat=8 sender_mps=95.53 observed_mps=101.06 sink_mps=49.99 sink_active_mps=101.06 sender_errors=0 sink_errors=0 node_cpu=2.84 total_cpu=17.75 mean_latency_ms=0.92 p50_latency_ms=0.91 p99_latency_ms=1.07
BENCHMARK_RESULT mode=request-reply clients=1 size=16 rate=100 repeat=9 sender_mps=95.58 observed_mps=101.07 sink_mps=49.98 sink_active_mps=101.07 sender_errors=0 sink_errors=0 node_cpu=2.84 total_cpu=17.23 mean_latency_ms=0.90 p50_latency_ms=0.89 p99_latency_ms=1.19
BENCHMARK_RESULT mode=request-reply clients=1 size=16 rate=100 repeat=10 sender_mps=95.50 observed_mps=101.00 sink_mps=50.00 sink_active_mps=101.00 sender_errors=0 sink_errors=0 node_cpu=2.84 total_cpu=16.80 mean_latency_ms=0.87 p50_latency_ms=0.87 p99_latency_ms=1.14
BENCHMARK_RESULT mode=request-reply clients=1 size=16 rate=100 repeat=11 sender_mps=95.55 observed_mps=101.03 sink_mps=50.00 sink_active_mps=101.03 sender_errors=0 sink_errors=0 node_cpu=3.78 total_cpu=17.77 mean_latency_ms=0.90 p50_latency_ms=0.88 p99_latency_ms=1.19
BENCHMARK_RESULT mode=request-reply clients=1 size=16 rate=100 repeat=12 sender_mps=91.95 observed_mps=101.08 sink_mps=50.00 sink_active_mps=101.08 sender_errors=0 sink_errors=0 node_cpu=3.64 total_cpu=17.81 mean_latency_ms=0.92 p50_latency_ms=0.92 p99_latency_ms=1.03
BENCHMARK_RESULT mode=request-reply clients=1 size=16 rate=100 repeat=13 sender_mps=95.57 observed_mps=101.03 sink_mps=49.98 sink_active_mps=101.03 sender_errors=0 sink_errors=0 node_cpu=2.83 total_cpu=18.52 mean_latency_ms=1.04 p50_latency_ms=0.91 p99_latency_ms=1.88
BENCHMARK_RESULT mode=request-reply clients=1 size=16 rate=100 repeat=14 sender_mps=95.54 observed_mps=100.95 sink_mps=49.97 sink_active_mps=100.95 sender_errors=0 sink_errors=0 node_cpu=2.84 total_cpu=17.63 mean_latency_ms=0.91 p50_latency_ms=0.91 p99_latency_ms=1.04
BENCHMARK_RESULT mode=request-reply clients=1 size=16 rate=100 repeat=15 sender_mps=95.54 observed_mps=101.00 sink_mps=49.98 sink_active_mps=101.00 sender_errors=0 sink_errors=0 node_cpu=2.84 total_cpu=17.35 mean_latency_ms=0.91 p50_latency_ms=0.91 p99_latency_ms=1.03
BENCHMARK_RESULT mode=request-reply clients=1 size=16 rate=100 repeat=16 sender_mps=95.54 observed_mps=101.02 sink_mps=49.98 sink_active_mps=101.02 sender_errors=0 sink_errors=0 node_cpu=2.84 total_cpu=17.30 mean_latency_ms=0.92 p50_latency_ms=0.91 p99_latency_ms=1.06
BENCHMARK_RESULT mode=request-reply clients=1 size=16 rate=100 repeat=17 sender_mps=95.53 observed_mps=101.03 sink_mps=49.99 sink_active_mps=101.03 sender_errors=0 sink_errors=0 node_cpu=3.78 total_cpu=18.62 mean_latency_ms=0.94 p50_latency_ms=0.93 p99_latency_ms=1.13
BENCHMARK_RESULT mode=request-reply clients=1 size=16 rate=100 repeat=18 sender_mps=95.50 observed_mps=101.02 sink_mps=49.98 sink_active_mps=101.02 sender_errors=0 sink_errors=0 node_cpu=2.84 total_cpu=17.63 mean_latency_ms=0.94 p50_latency_ms=0.93 p99_latency_ms=1.07
BENCHMARK_RESULT mode=request-reply clients=1 size=16 rate=100 repeat=19 sender_mps=95.57 observed_mps=101.03 sink_mps=49.99 sink_active_mps=101.03 sender_errors=0 sink_errors=0 node_cpu=2.84 total_cpu=17.07 mean_latency_ms=0.93 p50_latency_ms=0.92 p99_latency_ms=1.11
BENCHMARK_RESULT mode=request-reply clients=1 size=16 rate=100 repeat=20 sender_mps=95.47 observed_mps=101.00 sink_mps=50.00 sink_active_mps=101.00 sender_errors=0 sink_errors=0 node_cpu=2.84 total_cpu=17.58 mean_latency_ms=0.92 p50_latency_ms=0.90 p99_latency_ms=1.08
BENCHMARK_RESULT mode=request-reply clients=1 size=16 rate=100 repeat=21 sender_mps=95.51 observed_mps=101.04 sink_mps=49.97 sink_active_mps=101.04 sender_errors=0 sink_errors=0 node_cpu=2.83 total_cpu=17.20 mean_latency_ms=0.93 p50_latency_ms=0.93 p99_latency_ms=1.09
BENCHMARK_RESULT mode=request-reply clients=1 size=16 rate=100 repeat=22 sender_mps=95.46 observed_mps=101.02 sink_mps=49.99 sink_active_mps=101.02 sender_errors=0 sink_errors=0 node_cpu=2.84 total_cpu=17.76 mean_latency_ms=0.92 p50_latency_ms=0.91 p99_latency_ms=1.05
BENCHMARK_RESULT mode=request-reply clients=1 size=16 rate=100 repeat=23 sender_mps=95.48 observed_mps=101.01 sink_mps=49.98 sink_active_mps=101.01 sender_errors=0 sink_errors=0 node_cpu=2.84 total_cpu=16.94 mean_latency_ms=0.90 p50_latency_ms=0.89 p99_latency_ms=1.05
BENCHMARK_RESULT mode=request-reply clients=1 size=16 rate=100 repeat=24 sender_mps=95.52 observed_mps=100.99 sink_mps=49.98 sink_active_mps=100.99 sender_errors=0 sink_errors=0 node_cpu=2.84 total_cpu=17.26 mean_latency_ms=0.91 p50_latency_ms=0.91 p99_latency_ms=1.00
BENCHMARK_RESULT mode=request-reply clients=1 size=16 rate=100 repeat=25 sender_mps=95.60 observed_mps=101.05 sink_mps=49.99 sink_active_mps=101.05 sender_errors=0 sink_errors=0 node_cpu=3.79 total_cpu=18.35 mean_latency_ms=0.92 p50_latency_ms=0.91 p99_latency_ms=1.06
MODE_SUMMARY mode=request-reply runs=25 cases=1 mean_latency_ms=0.92 p50_latency_ms=0.91 p99_latency_ms=1.10 node_cpu=3.06 total_cpu=17.69 total_errors=0
BENCHMARK_RESULT mode=fire-and-forget clients=1 size=16 rate=1000 repeat=1 sender_mps=930.32 observed_mps=971.20 sink_mps=499.42 sink_active_mps=971.20 sender_errors=0 sink_errors=0 node_cpu=0.92 total_cpu=21.58
BENCHMARK_RESULT mode=fire-and-forget clients=1 size=16 rate=1000 repeat=2 sender_mps=933.84 observed_mps=975.85 sink_mps=499.26 sink_active_mps=975.85 sender_errors=0 sink_errors=0 node_cpu=2.78 total_cpu=23.13
BENCHMARK_RESULT mode=fire-and-forget clients=1 size=16 rate=1000 repeat=3 sender_mps=929.10 observed_mps=970.23 sink_mps=499.87 sink_active_mps=970.23 sender_errors=0 sink_errors=0 node_cpu=1.84 total_cpu=21.51
BENCHMARK_RESULT mode=fire-and-forget clients=1 size=16 rate=1000 repeat=4 sender_mps=924.45 observed_mps=965.75 sink_mps=499.75 sink_active_mps=965.75 sender_errors=0 sink_errors=0 node_cpu=1.84 total_cpu=22.39
BENCHMARK_RESULT mode=fire-and-forget clients=1 size=16 rate=1000 repeat=5 sender_mps=931.25 observed_mps=972.11 sink_mps=499.83 sink_active_mps=972.11 sender_errors=0 sink_errors=0 node_cpu=1.84 total_cpu=21.31
BENCHMARK_RESULT mode=fire-and-forget clients=1 size=16 rate=1000 repeat=6 sender_mps=934.41 observed_mps=975.87 sink_mps=499.72 sink_active_mps=975.87 sender_errors=0 sink_errors=0 node_cpu=2.77 total_cpu=24.60
BENCHMARK_RESULT mode=fire-and-forget clients=1 size=16 rate=1000 repeat=7 sender_mps=925.91 observed_mps=966.42 sink_mps=499.79 sink_active_mps=966.42 sender_errors=0 sink_errors=0 node_cpu=1.84 total_cpu=21.29
BENCHMARK_RESULT mode=fire-and-forget clients=1 size=16 rate=1000 repeat=8 sender_mps=920.75 observed_mps=999.42 sink_mps=499.89 sink_active_mps=999.42 sender_errors=0 sink_errors=0 node_cpu=1.82 total_cpu=20.78
BENCHMARK_RESULT mode=fire-and-forget clients=1 size=16 rate=1000 repeat=9 sender_mps=935.23 observed_mps=976.81 sink_mps=499.78 sink_active_mps=976.81 sender_errors=0 sink_errors=0 node_cpu=1.86 total_cpu=21.52
BENCHMARK_RESULT mode=fire-and-forget clients=1 size=16 rate=1000 repeat=10 sender_mps=931.50 observed_mps=972.95 sink_mps=499.70 sink_active_mps=972.95 sender_errors=0 sink_errors=0 node_cpu=2.76 total_cpu=21.80
BENCHMARK_RESULT mode=fire-and-forget clients=1 size=16 rate=1000 repeat=11 sender_mps=927.29 observed_mps=968.33 sink_mps=499.83 sink_active_mps=968.33 sender_errors=0 sink_errors=0 node_cpu=0.92 total_cpu=21.34
BENCHMARK_RESULT mode=fire-and-forget clients=1 size=16 rate=1000 repeat=12 sender_mps=956.39 observed_mps=1000.12 sink_mps=499.88 sink_active_mps=1000.12 sender_errors=0 sink_errors=0 node_cpu=2.84 total_cpu=22.45
BENCHMARK_RESULT mode=fire-and-forget clients=1 size=16 rate=1000 repeat=13 sender_mps=932.74 observed_mps=973.93 sink_mps=499.20 sink_active_mps=973.93 sender_errors=0 sink_errors=0 node_cpu=2.79 total_cpu=22.95
BENCHMARK_RESULT mode=fire-and-forget clients=1 size=16 rate=1000 repeat=14 sender_mps=956.27 observed_mps=999.92 sink_mps=499.90 sink_active_mps=999.92 sender_errors=0 sink_errors=0 node_cpu=0.95 total_cpu=21.92
BENCHMARK_RESULT mode=fire-and-forget clients=1 size=16 rate=1000 repeat=15 sender_mps=927.17 observed_mps=968.33 sink_mps=499.97 sink_active_mps=968.33 sender_errors=0 sink_errors=0 node_cpu=1.84 total_cpu=21.35
BENCHMARK_RESULT mode=fire-and-forget clients=1 size=16 rate=1000 repeat=16 sender_mps=934.33 observed_mps=975.84 sink_mps=499.77 sink_active_mps=975.84 sender_errors=0 sink_errors=0 node_cpu=2.78 total_cpu=21.83
BENCHMARK_RESULT mode=fire-and-forget clients=1 size=16 rate=1000 repeat=17 sender_mps=926.30 observed_mps=967.75 sink_mps=499.79 sink_active_mps=967.75 sender_errors=0 sink_errors=0 node_cpu=1.84 total_cpu=21.57
BENCHMARK_RESULT mode=fire-and-forget clients=1 size=16 rate=1000 repeat=18 sender_mps=927.85 observed_mps=968.40 sink_mps=499.94 sink_active_mps=968.40 sender_errors=0 sink_errors=0 node_cpu=0.92 total_cpu=20.07
BENCHMARK_RESULT mode=fire-and-forget clients=1 size=16 rate=1000 repeat=19 sender_mps=935.52 observed_mps=976.56 sink_mps=499.94 sink_active_mps=976.56 sender_errors=0 sink_errors=0 node_cpu=2.78 total_cpu=22.80
BENCHMARK_RESULT mode=fire-and-forget clients=1 size=16 rate=1000 repeat=20 sender_mps=930.48 observed_mps=972.07 sink_mps=499.85 sink_active_mps=972.07 sender_errors=0 sink_errors=0 node_cpu=1.84 total_cpu=21.44
BENCHMARK_RESULT mode=fire-and-forget clients=1 size=16 rate=1000 repeat=21 sender_mps=925.52 observed_mps=967.04 sink_mps=499.70 sink_active_mps=967.04 sender_errors=0 sink_errors=0 node_cpu=1.84 total_cpu=21.54
BENCHMARK_RESULT mode=fire-and-forget clients=1 size=16 rate=1000 repeat=22 sender_mps=923.16 observed_mps=963.97 sink_mps=499.94 sink_active_mps=963.97 sender_errors=0 sink_errors=0 node_cpu=2.73 total_cpu=22.96
BENCHMARK_RESULT mode=fire-and-forget clients=1 size=16 rate=1000 repeat=23 sender_mps=923.87 observed_mps=965.18 sink_mps=499.83 sink_active_mps=965.18 sender_errors=0 sink_errors=0 node_cpu=1.84 total_cpu=22.19
BENCHMARK_RESULT mode=fire-and-forget clients=1 size=16 rate=1000 repeat=24 sender_mps=921.47 observed_mps=962.19 sink_mps=499.28 sink_active_mps=962.19 sender_errors=0 sink_errors=0 node_cpu=1.82 total_cpu=21.92
BENCHMARK_RESULT mode=fire-and-forget clients=1 size=16 rate=1000 repeat=25 sender_mps=931.44 observed_mps=973.01 sink_mps=499.77 sink_active_mps=973.01 sender_errors=0 sink_errors=0 node_cpu=1.84 total_cpu=21.73
MODE_SUMMARY mode=fire-and-forget runs=25 cases=1 sender_mean_mps=931.06 observed_mean_mps=973.97 node_cpu=1.99 total_cpu=21.92 total_errors=0
BENCHMARK_RESULT mode=write clients=1 size=16 rate=1000 repeat=1 sender_mps=923.72 observed_mps=923.72 sink_mps=0.00 sink_active_mps=0.00 sender_errors=0 sink_errors=0 node_cpu=2.76 total_cpu=17.47
BENCHMARK_RESULT mode=write clients=1 size=16 rate=1000 repeat=2 sender_mps=927.70 observed_mps=927.70 sink_mps=0.00 sink_active_mps=0.00 sender_errors=0 sink_errors=0 node_cpu=0.92 total_cpu=16.10
BENCHMARK_RESULT mode=write clients=1 size=16 rate=1000 repeat=3 sender_mps=927.25 observed_mps=927.25 sink_mps=0.00 sink_active_mps=0.00 sender_errors=0 sink_errors=0 node_cpu=1.84 total_cpu=16.62
BENCHMARK_RESULT mode=write clients=1 size=16 rate=1000 repeat=4 sender_mps=936.44 observed_mps=936.44 sink_mps=0.00 sink_active_mps=0.00 sender_errors=0 sink_errors=0 node_cpu=2.78 total_cpu=17.44
BENCHMARK_RESULT mode=write clients=1 size=16 rate=1000 repeat=5 sender_mps=956.59 observed_mps=956.59 sink_mps=0.00 sink_active_mps=0.00 sender_errors=0 sink_errors=0 node_cpu=1.89 total_cpu=17.20
BENCHMARK_RESULT mode=write clients=1 size=16 rate=1000 repeat=6 sender_mps=923.09 observed_mps=923.09 sink_mps=0.00 sink_active_mps=0.00 sender_errors=0 sink_errors=0 node_cpu=1.82 total_cpu=16.87
BENCHMARK_RESULT mode=write clients=1 size=16 rate=1000 repeat=7 sender_mps=938.32 observed_mps=938.32 sink_mps=0.00 sink_active_mps=0.00 sender_errors=0 sink_errors=0 node_cpu=1.85 total_cpu=17.31
BENCHMARK_RESULT mode=write clients=1 size=16 rate=1000 repeat=8 sender_mps=924.58 observed_mps=924.58 sink_mps=0.00 sink_active_mps=0.00 sender_errors=0 sink_errors=0 node_cpu=1.84 total_cpu=16.89
BENCHMARK_RESULT mode=write clients=1 size=16 rate=1000 repeat=9 sender_mps=936.53 observed_mps=936.53 sink_mps=0.00 sink_active_mps=0.00 sender_errors=0 sink_errors=0 node_cpu=2.78 total_cpu=18.40
BENCHMARK_RESULT mode=write clients=1 size=16 rate=1000 repeat=10 sender_mps=922.90 observed_mps=922.90 sink_mps=0.00 sink_active_mps=0.00 sender_errors=0 sink_errors=0 node_cpu=1.82 total_cpu=17.56
BENCHMARK_RESULT mode=write clients=1 size=16 rate=1000 repeat=11 sender_mps=932.83 observed_mps=932.83 sink_mps=0.00 sink_active_mps=0.00 sender_errors=0 sink_errors=0 node_cpu=1.86 total_cpu=17.36
BENCHMARK_RESULT mode=write clients=1 size=16 rate=1000 repeat=12 sender_mps=932.89 observed_mps=932.89 sink_mps=0.00 sink_active_mps=0.00 sender_errors=0 sink_errors=0 node_cpu=2.78 total_cpu=17.29
BENCHMARK_RESULT mode=write clients=1 size=16 rate=1000 repeat=13 sender_mps=922.48 observed_mps=922.48 sink_mps=0.00 sink_active_mps=0.00 sender_errors=0 sink_errors=0 node_cpu=0.91 total_cpu=15.46
BENCHMARK_RESULT mode=write clients=1 size=16 rate=1000 repeat=14 sender_mps=956.31 observed_mps=956.31 sink_mps=0.00 sink_active_mps=0.00 sender_errors=0 sink_errors=0 node_cpu=2.84 total_cpu=18.39
BENCHMARK_RESULT mode=write clients=1 size=16 rate=1000 repeat=15 sender_mps=925.36 observed_mps=925.36 sink_mps=0.00 sink_active_mps=0.00 sender_errors=0 sink_errors=0 node_cpu=1.84 total_cpu=16.86
BENCHMARK_RESULT mode=write clients=1 size=16 rate=1000 repeat=16 sender_mps=931.75 observed_mps=931.75 sink_mps=0.00 sink_active_mps=0.00 sender_errors=0 sink_errors=0 node_cpu=1.84 total_cpu=17.12
BENCHMARK_RESULT mode=write clients=1 size=16 rate=1000 repeat=17 sender_mps=932.60 observed_mps=932.60 sink_mps=0.00 sink_active_mps=0.00 sender_errors=0 sink_errors=0 node_cpu=1.86 total_cpu=17.39
BENCHMARK_RESULT mode=write clients=1 size=16 rate=1000 repeat=18 sender_mps=956.18 observed_mps=956.18 sink_mps=0.00 sink_active_mps=0.00 sender_errors=0 sink_errors=0 node_cpu=0.95 total_cpu=16.00
BENCHMARK_RESULT mode=write clients=1 size=16 rate=1000 repeat=19 sender_mps=928.14 observed_mps=928.14 sink_mps=0.00 sink_active_mps=0.00 sender_errors=0 sink_errors=0 node_cpu=2.76 total_cpu=17.73
BENCHMARK_RESULT mode=write clients=1 size=16 rate=1000 repeat=20 sender_mps=931.51 observed_mps=931.51 sink_mps=0.00 sink_active_mps=0.00 sender_errors=0 sink_errors=0 node_cpu=1.84 total_cpu=19.62
BENCHMARK_RESULT mode=write clients=1 size=16 rate=1000 repeat=21 sender_mps=921.42 observed_mps=921.42 sink_mps=0.00 sink_active_mps=0.00 sender_errors=0 sink_errors=0 node_cpu=1.82 total_cpu=17.65
BENCHMARK_RESULT mode=write clients=1 size=16 rate=1000 repeat=22 sender_mps=931.16 observed_mps=931.16 sink_mps=0.00 sink_active_mps=0.00 sender_errors=0 sink_errors=0 node_cpu=1.84 total_cpu=16.89
BENCHMARK_RESULT mode=write clients=1 size=16 rate=1000 repeat=23 sender_mps=928.73 observed_mps=928.73 sink_mps=0.00 sink_active_mps=0.00 sender_errors=0 sink_errors=0 node_cpu=2.76 total_cpu=18.19
BENCHMARK_RESULT mode=write clients=1 size=16 rate=1000 repeat=24 sender_mps=956.63 observed_mps=956.63 sink_mps=0.00 sink_active_mps=0.00 sender_errors=0 sink_errors=0 node_cpu=1.89 total_cpu=17.87
BENCHMARK_RESULT mode=write clients=1 size=16 rate=1000 repeat=25 sender_mps=929.69 observed_mps=929.69 sink_mps=0.00 sink_active_mps=0.00 sender_errors=0 sink_errors=0 node_cpu=1.84 total_cpu=17.33
MODE_SUMMARY mode=write runs=25 cases=1 sender_mean_mps=933.39 observed_mean_mps=933.39 node_cpu=2.00 total_cpu=17.32 total_errors=0

## Suite Summary

# SLIM Benchmark Statistical Summary

**Generated:** 2026-06-26 08:01:47

**Server:** http://127.0.0.1:45547
**Destination:** agntcy/demo/echo
**Modes:** request-reply fire-and-forget write
**Clients:** 1
**Sizes:** 16
**Request-Reply Rates:** 100
**One-Way Rates:** 1000
**Write Rates:** 1000
**Duration Per Run:** 1s
**Repeats Per Case:** 25

This summary reports mean, sample variance, and confidence intervals over repeated executions of each benchmark case.

### Request-Reply Results

Request-reply prioritizes latency statistics. The configured rate is retained as load context, but the primary reported metrics are mean, p50, and p99 latency.

| Clients | Payload | Rate | Repeats | Mean Latency ms | Mean Latency Variance | Mean Latency 95% CI | P50 Latency ms | P50 Latency 95% CI | P99 Latency ms | P99 Latency 95% CI | Sender Mean CPU % | Sender CPU 95% CI | Node Mean CPU % | Node CPU 95% CI | Total Mean CPU % | Total CPU 95% CI | Total Errors |
| :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- |
| 1 | 16B | 100 | 25 | 0.92 | 0.00 | [0.91, 0.93] | 0.91 | [0.90, 0.91] | 1.10 | [1.03, 1.17] | 8.89 | [8.76, 9.03] | 3.06 | [2.86, 3.26] | 17.69 | [17.40, 17.99] | 0 |

### Fire-And-Forget Results

| Clients | Payload | Rate | Repeats | Sender Mean msg/sec | Sender Variance | Sender 95% CI | Observed Node Throughput Mean msg/sec | Observed Node Throughput Variance | Observed Node Throughput 95% CI | Sender Mean CPU % | Sender CPU 95% CI | Responder Mean CPU % | Responder CPU 95% CI | Node Mean CPU % | Node CPU 95% CI | Total Mean CPU % | Total CPU 95% CI | Mean Sender Msgs | Mean Observed Msgs | Total Errors |
| :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- |
| 1 | 16B | 1000 | 25 | 931.06 | 76.15 | [927.46, 934.66] | 973.97 | 111.79 | [969.61, 978.33] | 14.54 | [14.31, 14.77] | 5.39 | [5.25, 5.52] | 1.99 | [1.73, 2.26] | 21.92 | [21.55, 22.29] | 999.84 | 999.84 | 0 |

### Write Results

| Clients | Payload | Rate | Repeats | Sender Mean msg/sec | Sender Variance | Sender 95% CI | Sender Write Throughput Mean msg/sec | Sender Write Throughput Variance | Sender Write Throughput 95% CI | Sender Mean CPU % | Sender CPU 95% CI | Responder Mean CPU % | Responder CPU 95% CI | Node Mean CPU % | Node CPU 95% CI | Total Mean CPU % | Total CPU 95% CI | Mean Sender Msgs | Mean Observed Msgs | Total Errors |
| :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- |
| 1 | 16B | 1000 | 25 | 933.39 | 126.08 | [928.76, 938.03] | 933.39 | 126.08 | [928.76, 938.03] | 15.32 | [15.06, 15.59] | 0.00 | [0.00, 0.00] | 2.00 | [1.76, 2.24] | 17.32 | [16.97, 17.67] | 999.92 | 999.92 | 0 |

## Technical Report

# SLIM Benchmark Technical Report

## Scope

This report documents the repeated benchmark campaign executed by the Ginkgo benchmark suite against a local SLIM node. Each case in the suite matrix is rerun multiple times to estimate mean performance, sample variance, and confidence intervals.

## Test Setup

- Runtime: local SLIM node on `http://127.0.0.1:45547`
- Destination identity: `agntcy/demo/echo`
- Sender: `tests/rate-client`
- Sink / responder: `tests/echo-client` (used by request-reply and fire-and-forget; write mode runs without a responder)
- Suite driver: Ginkgo spec in `benchmarks/agntcy-slim/tests/benchmark_suite_test.go`
- Modes: `request-reply fire-and-forget write`
- Client counts: `1`
- Payload sizes: `16` bytes
- Request-reply rates: `100` msg/sec
- One-way rates: `1000`
- Write rates: `1000`
- Duration per run: `1s`
- Repeats per case: `25`
- Adaptive capacity sweep enabled: `false`

## Measurement Methodology

### Execution Model

Each benchmark case in the matrix is executed 25 times. A benchmark case is uniquely identified by:

- mode
- client count
- payload size
- configured rate

For this statistical rerun, each individual run uses a configured sender duration of 1s.

### Sender-Side Measurement

Sender throughput is measured by tests/rate-client.

For each run:

1. The sender starts its timed send loop.
2. It records the actual wall-clock run duration.
3. It counts the total number of successfully completed sends.
4. It computes sender throughput as:

$$
\text{sender mps} = \frac{\text{total successful messages}}{\text{actual run duration in seconds}}
$$

### Responder-Side Measurement

For request-reply and fire-and-forget, responder throughput is measured by tests/echo-client.

For each run:

1. The sink counts received messages and received bytes.
2. It records the timestamp of the first payload message received.
3. It records the timestamp of the last payload message received.
4. It computes active receive throughput over the active message window, not over sink process lifetime:

$$
\text{sink mps} = \frac{\text{received messages}}{\text{last message time} - \text{first message time}}
$$

If only one message is observed, the sink falls back to elapsed lifetime-based timing to avoid division by zero.

Write mode does not start a responder. In that mode, the sender-completed write rate is the only throughput measurement and represents how fast the sender can successfully enqueue writes into the node.

### CPU Measurement

CPU usage is collected for the three benchmark processes involved in each run:

- sender process: tests/rate-client
- responder process: tests/echo-client
- node process: slimctl slim start

The sender CPU time is read from the child process state after exit as user time plus system time.

The responder and node CPU time are read as deltas of cumulative process CPU time between the start and end of the benchmark window.

Average CPU percent for each process is computed as:

$$
\text{cpu percent} = 100 \cdot \frac{\text{cpu time consumed during benchmark}}{\text{benchmark wall-clock duration}}
$$

The total CPU percent for a run is the sum of sender, responder, and node average CPU percent.

### Statistical Treatment

For each case, the report computes:

- mean
- sample variance
- standard deviation
- Student's t 95% confidence interval for the mean

The sample variance is:

$$
s^2 = \frac{1}{n-1} \sum_{i=1}^n (x_i - \bar{x})^2
$$

The Student's t 95% confidence interval is:

$$
\bar{x} \pm t_{1-\alpha/2, n-1} \cdot \frac{s}{\sqrt{n}}
$$

where $\alpha = 0.05$ and $n = 25$ for each case in this report.


## Test Types

### Request-Reply

Request-reply sends one message and waits for the echoed reply before sending the next. It measures paced round-trip behavior.

### Fire-And-Forget

Fire-and-forget sends one-way traffic to a sink responder. It measures end-to-end one-way delivery through the node without waiting for per-message replies.

### Write

Write measures how fast the sender can successfully write messages into the node without any sink or responder process. In this mode, sender-completed throughput is the primary metric.

## Full Matrix

### Request-Reply Results

Request-reply prioritizes latency statistics. The configured rate is retained as load context, but the primary reported metrics are mean, p50, and p99 latency.

| Clients | Payload | Rate | Repeats | Mean Latency ms | Mean Latency Variance | Mean Latency 95% CI | P50 Latency ms | P50 Latency 95% CI | P99 Latency ms | P99 Latency 95% CI | Sender Mean CPU % | Sender CPU 95% CI | Node Mean CPU % | Node CPU 95% CI | Total Mean CPU % | Total CPU 95% CI | Total Errors |
| :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- |
| 1 | 16B | 100 | 25 | 0.92 | 0.00 | [0.91, 0.93] | 0.91 | [0.90, 0.91] | 1.10 | [1.03, 1.17] | 8.89 | [8.76, 9.03] | 3.06 | [2.86, 3.26] | 17.69 | [17.40, 17.99] | 0 |

### Fire-And-Forget Results

| Clients | Payload | Rate | Repeats | Sender Mean msg/sec | Sender Variance | Sender 95% CI | Observed Node Throughput Mean msg/sec | Observed Node Throughput Variance | Observed Node Throughput 95% CI | Sender Mean CPU % | Sender CPU 95% CI | Responder Mean CPU % | Responder CPU 95% CI | Node Mean CPU % | Node CPU 95% CI | Total Mean CPU % | Total CPU 95% CI | Mean Sender Msgs | Mean Observed Msgs | Total Errors |
| :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- |
| 1 | 16B | 1000 | 25 | 931.06 | 76.15 | [927.46, 934.66] | 973.97 | 111.79 | [969.61, 978.33] | 14.54 | [14.31, 14.77] | 5.39 | [5.25, 5.52] | 1.99 | [1.73, 2.26] | 21.92 | [21.55, 22.29] | 999.84 | 999.84 | 0 |

### Write Results

| Clients | Payload | Rate | Repeats | Sender Mean msg/sec | Sender Variance | Sender 95% CI | Sender Write Throughput Mean msg/sec | Sender Write Throughput Variance | Sender Write Throughput 95% CI | Sender Mean CPU % | Sender CPU 95% CI | Responder Mean CPU % | Responder CPU 95% CI | Node Mean CPU % | Node CPU 95% CI | Total Mean CPU % | Total CPU 95% CI | Mean Sender Msgs | Mean Observed Msgs | Total Errors |
| :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- |
| 1 | 16B | 1000 | 25 | 933.39 | 126.08 | [928.76, 938.03] | 933.39 | 126.08 | [928.76, 938.03] | 15.32 | [15.06, 15.59] | 0.00 | [0.00, 0.00] | 2.00 | [1.76, 2.24] | 17.32 | [16.97, 17.67] | 999.92 | 999.92 | 0 |


## Result Interpretation

- For request-reply, the primary metrics are sender-observed latency statistics, especially mean, p50, and p99 latency.
- For fire-and-forget and write, the primary metrics are throughput statistics because those workloads are intended to characterize node write and forwarding capacity.
- CPU percentages represent average process CPU utilization during the benchmark window for sender, responder, and node processes.
- Confidence intervals estimate the uncertainty around the reported latency or throughput means under repeated execution.
- For request-reply and fire-and-forget capacity sweeps, sink throughput remains the better end-to-end capacity indicator when it diverges from sender throughput.

