@@ -356,30 +356,41 @@ func registerSysbench(r registry.Registry) {
356
356
}
357
357
358
358
for _ , d := range []struct {
359
- n , cpus int
360
- pick func (sysbenchWorkload ) bool // nil means true for all
361
- extra extraSetup
359
+ n , cpus int
360
+ transform func (opts * sysbenchOptions ) bool // false = skip
362
361
}{
363
362
{n : 1 , cpus : 32 },
364
363
{n : 3 , cpus : 32 },
365
- {n : 3 , cpus : 8 , pick : coreThree },
366
- {n : 3 , cpus : 8 , pick : coreThree ,
367
- extra : extraSetup {
368
- nameSuffix : "-settings" ,
369
- stmts : []string {
370
- `set cluster setting sql.stats.flush.enabled = false` ,
371
- `set cluster setting sql.metrics.statement_details.enabled = false` ,
372
- `set cluster setting kv.split_queue.enabled = false` ,
373
- `set cluster setting kv.transaction.write_buffering.enabled = true` ,
374
- },
375
- useDRPC : true ,
364
+ {n : 3 , cpus : 8 ,
365
+ transform : func (opts * sysbenchOptions ) bool {
366
+ // Only run core three.
367
+ if ! coreThree (opts .workload ) {
368
+ return false
369
+ }
370
+ return true
371
+ },
372
+ },
373
+ {n : 3 , cpus : 8 ,
374
+ transform : func (opts * sysbenchOptions ) bool {
375
+ // Only run core three.
376
+ if ! coreThree (opts .workload ) {
377
+ return false
378
+ }
379
+ opts .extra = extraSetup {
380
+ nameSuffix : "-settings" ,
381
+ stmts : []string {
382
+ `set cluster setting sql.stats.flush.enabled = false` ,
383
+ `set cluster setting sql.metrics.statement_details.enabled = false` ,
384
+ `set cluster setting kv.split_queue.enabled = false` ,
385
+ `set cluster setting kv.transaction.write_buffering.enabled = true` ,
386
+ },
387
+ useDRPC : true ,
388
+ }
389
+ return true
376
390
},
377
391
},
378
392
} {
379
393
for w := sysbenchWorkload (0 ); w < numSysbenchWorkloads ; w ++ {
380
- if d .pick != nil && ! d .pick (w ) {
381
- continue
382
- }
383
394
concPerCPU := d .n * 3 - 1
384
395
conc := d .cpus * concPerCPU
385
396
opts := sysbenchOptions {
@@ -388,15 +399,17 @@ func registerSysbench(r registry.Registry) {
388
399
concurrency : conc ,
389
400
tables : 10 ,
390
401
rowsPerTable : 10000000 ,
391
- extra : d .extra ,
402
+ }
403
+ if d .transform != nil && ! d .transform (& opts ) {
404
+ continue
392
405
}
393
406
394
407
benchname := "sysbench"
395
- if d .extra .nameSuffix != "" {
396
- benchname += d .extra .nameSuffix
408
+ if opts .extra .nameSuffix != "" {
409
+ benchname += opts .extra .nameSuffix
397
410
}
398
411
399
- r . Add ( registry.TestSpec {
412
+ spec := registry.TestSpec {
400
413
Name : fmt .Sprintf ("%s/%s/nodes=%d/cpu=%d/conc=%d" , benchname , w , d .n , d .cpus , conc ),
401
414
Benchmark : true ,
402
415
Owner : registry .OwnerTestEng ,
@@ -407,23 +420,21 @@ func registerSysbench(r registry.Registry) {
407
420
Run : func (ctx context.Context , t test.Test , c cluster.Cluster ) {
408
421
runSysbench (ctx , t , c , opts )
409
422
},
410
- })
423
+ }
424
+ r .Add (spec )
411
425
412
426
// Add a variant of each test that uses PostgreSQL instead of CockroachDB.
413
427
if d .n == 1 {
414
428
pgOpts := opts
415
429
pgOpts .usePostgres = true
416
- r .Add (registry.TestSpec {
417
- Name : fmt .Sprintf ("sysbench/%s/postgres/cpu=%d/conc=%d" , w , d .cpus , conc ),
418
- Benchmark : true ,
419
- Owner : registry .OwnerTestEng ,
420
- Cluster : r .MakeClusterSpec (d .n + 1 , spec .CPU (d .cpus ), spec .WorkloadNode (), spec .WorkloadNodeCPU (16 )),
421
- CompatibleClouds : registry .OnlyGCE ,
422
- Suites : registry .ManualOnly ,
423
- Run : func (ctx context.Context , t test.Test , c cluster.Cluster ) {
424
- runSysbench (ctx , t , c , pgOpts )
425
- },
426
- })
430
+ pgSpec := spec
431
+ pgSpec .Name = fmt .Sprintf ("sysbench/%s/postgres/cpu=%d/conc=%d" , w , d .cpus , conc )
432
+ pgSpec .Suites = registry .ManualOnly
433
+ pgSpec .TestSelectionOptOutSuites = registry .ManualOnly
434
+ pgSpec .Run = func (ctx context.Context , t test.Test , c cluster.Cluster ) {
435
+ runSysbench (ctx , t , c , pgOpts )
436
+ }
437
+ r .Add (pgSpec )
427
438
}
428
439
}
429
440
}
0 commit comments