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

Link-Not-Merge Bench

Synthetic workload that measures advisory observation ingestion and linkset correlation throughput for the Link-Not-Merge program.

Scenarios

config.json defines three scenarios that vary observation volume, alias density, and correlation fan-out. Each scenario captures:

  • Total latency (ingest + correlation) and p95/max percentiles
  • Insert latency against an ephemeral MongoDB instance
  • Correlator-only latency, tracking fan-out costs
  • Observation and Mongo insert throughput (ops/sec)
  • Peak managed heap allocations

Running locally

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

The benchmark exits non-zero if latency exceeds configured thresholds, throughput falls below the floor, Mongo insert throughput regresses, allocations exceed the ceiling, or regression ratios breach the baseline.