INNER CODE UNIT · Go
runBench
redpanda-data/connect · benchmarking/aws/runner/main.go:231
func runBench(opts benchOpts) (errOut error) {
s, err := LoadScenario(opts.scenarioPath)
if err != nil {
return err
}
fmt.Printf("[1/7] loaded scenario %s\n", s.Name)
ctx, cancel := signal.NotifyContext(context.Background(), os.Interrupt, syscall.SIGTERM)
defer cancel()
// Every bench session applies and later DESTROYS the same shared
// Terraform stack, so two concurrent sessions destroy each other's
// infrastructure mid-run (observed live 2026-08-17: a laptop bench and
// the scheduled soak collided). Checked before any AWS call this run
// makes — including license resolution just below — so the conflict is
// caught before this session touches anything.
if opts.preflightOn {
ec2Client, err := NewEC2Client(ctx, opts.region)