dashboard: add linux-amd64-perf host and builder

Add a new builder to run the x/benchmarks performance tests on
linux-amd64.

For now, this runs on a GCE C2 instance type, as these instances have
well-defined, consistent CPUs and other server architecture components.

In basic noise testing, even standard VMs of this type appear to be
fairly low noise. As we gain experience with actual monitoring, we may
change this to a sole-tenant VM type or even a dedicated machine if
necessary.

For golang/go#49207

Change-Id: I17eaeeb5349af925249940bebd5b860a2579e6df
Reviewed-on: https://go-review.googlesource.com/c/build/+/354311
Trust: Michael Pratt <mpratt@google.com>
Run-TryBot: Michael Pratt <mpratt@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Alexander Rakoczy <alex@golang.org>
This commit is contained in:
Michael Pratt 2021-10-01 14:59:33 -04:00
Родитель 0f6a98d88f
Коммит 19ea0d226d
1 изменённых файлов: 18 добавлений и 1 удалений

Просмотреть файл

@ -619,6 +619,14 @@ var Hosts = map[string]*HostConfig{
ExpectNum: 2,
env: []string{"GOROOT_BOOTSTRAP=/usr/lib/go"},
},
"host-linux-amd64-perf": &HostConfig{
Notes: "Cascade Lake performance testing machines",
machineType: "c2-standard-8", // C2 has precisely defined, consistent server architecture.
ContainerImage: "linux-x86-bullseye:latest",
buildletURLTmpl: "https://storage.googleapis.com/$BUCKET/buildlet.linux-amd64",
env: []string{"GOROOT_BOOTSTRAP=/go1.4"},
SSHUsername: "root",
},
}
// CrossCompileConfig describes how to cross-compile a build on a
@ -692,7 +700,7 @@ type HostConfig struct {
ContainerImage string // e.g. "linux-buildlet-std:latest" (suffix after "gcr.io/<PROJ>/")
IsReverse bool // if true, only use the reverse buildlet pool
// GCE options, if VMImage != ""
// GCE options, if VMImage != "" || ContainerImage != ""
machineType string // optional GCE instance type
RegularDisk bool // if true, use spinning disk instead of SSD
MinCPUPlatform string // optional; https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform
@ -2519,6 +2527,15 @@ func init() {
FlakyNet: true,
SkipSnapshot: true, // The builder has a slow uplink bandwidth.
})
addBuilder(BuildConfig{
Name: "linux-amd64-perf",
HostType: "host-linux-amd64-perf",
Notes: "Performance testing for linux-amd64",
buildsRepo: func(repo, branch, goBranch string) bool {
return repo == "benchmarks"
},
RunBench: true,
})
}
// addBuilder adds c to the Builders map after doing some sanity