func run()

in step1/src/loadgen/main.go [109:136]


func run(workers, concurrency int) error {
	respErrCh := make(chan error)
	concCh := make(chan bool, concurrency)
	for n := 0; n < workers; n++ {
		go func() {
			concCh <- true
			defer func() {
				<-concCh
			}()
			respErrCh <- func() error {
				q := testCases[rand.Intn(len(testCases))]
				matched, err := runQuery(q.query)
				if err != nil {
					return err
				}
				check(q, matched)
				return nil
			}()
		}()
	}

	for i := 0; i < workers; i++ {
		if err := <-respErrCh; err != nil {
			return err
		}
	}
	return nil
}