code: func NewBenchmark(name string, subCnt, pubCnt int) *Benchmark {
  	bm := Benchmark{Name: name, RunID: nuid.Next()}
  	bm.Subs = NewSampleGroup()
  	bm.Pubs = NewSampleGroup()
  	bm.subChannel = make(chan *Sample, subCnt)
  	bm.pubChannel = make(chan *Sample, pubCnt)
  	return &bm
  }
docs: // NewBenchmark initializes a Benchmark. After creating a bench call AddSubSample/AddPubSample.
  // When done collecting samples, call EndBenchmark