Files
git.stella-ops.org/src/Bench/StellaOps.Bench/Notify

Notify Dispatch Bench

Synthetic workload measuring rule evaluation and channel dispatch fan-out under varying rule densities.

Scenarios

config.json defines three density profiles (5%, 20%, 40%). Each scenario synthesizes deterministic tenants, rules, and delivery actions to measure:

  • Latency (mean/p95/max milliseconds)
  • Throughput (deliveries per second)
  • Managed heap allocations (megabytes)
  • Match fan-out statistics (matches and deliveries per event)

Running locally

dotnet run \
  --project src/Bench/StellaOps.Bench/Notify/StellaOps.Bench.Notify/StellaOps.Bench.Notify.csproj \
  -- \
  --csv out/notify-bench.csv \
  --json out/notify-bench.json \
  --prometheus out/notify-bench.prom

The benchmark exits non-zero if latency exceeds the configured thresholds, throughput drops below the floor, allocations exceed the ceiling, or regression limits are breached relative to baseline.csv.