This change does a few things:
- Start emitting geomean/<builder details> as a separate time series.
- Add the option to mix benchmarks of all platforms on the same page.
- Set up the front page to show the geomean for each builder we run.
Change-Id: I50bfe0a2f7c92bb7405cf0d799f95c4ec3226a8d
Reviewed-on: https://go-review.googlesource.com/c/build/+/627555
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Michael Pratt <mpratt@google.com>
Auto-Submit: Michael Knyszek <mknyszek@google.com>
benchseries seems to fall over on some of our benchmarks and it's
difficult to say why. But, benchstat works just fine.
This CL forks the internals of benchstat and rewrites benchCompare to
use them.
The comparison made by benchstat is slightly different than the one
made by benchseries, but it's not clear to me how. It might make sense
to try and flush InfluxDB and refill it with the new comparison, but I
suspect it's probably not worth it.
This is a reapplication of go.dev/cl/623275 to correctly propagate
bootstrapped ratio data instead of just a summary of the direct
benchmark data.
Change-Id: I24d161130934e59aee4082629e8d0698fef3fde5
Reviewed-on: https://go-review.googlesource.com/c/build/+/626640
Reviewed-by: Michael Pratt <mpratt@google.com>
Auto-Submit: Michael Knyszek <mknyszek@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
This adds an extra click to get to the previous dashboard page, but a
follow-up CL will start tracking geomean values and put that on the
homepage.
Change-Id: I178cad30722006629cc1b69917fda650e09cbcb4
Reviewed-on: https://go-review.googlesource.com/c/build/+/626639
Reviewed-by: Michael Pratt <mpratt@google.com>
Auto-Submit: Michael Knyszek <mknyszek@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Everything is already wired up and I can manually select data for
linux/arm64 by modifying the query params, so all that's left is adding
a dropdown option to make it easier to find.
Fixesgolang/go#70231.
Change-Id: Ide7427f45a042e1ceca75763b440347daf5dabad
Reviewed-on: https://go-review.googlesource.com/c/build/+/627275
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Auto-Submit: Michael Knyszek <mknyszek@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Cloud Scheduler calls /cron/syncinflux hourly. If there are several days
of results (because we deleted data and want to re-sync), then this can
take several minutes to complete. Allow longer connections.
Change-Id: I334b86b91e6e0ebe640a7a05afd04f1193c092f6
Reviewed-on: https://go-review.googlesource.com/c/build/+/623999
Reviewed-by: Michael Knyszek <mknyszek@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Carlos Amedee <carlos@golang.org>
This reverts commit 0d31c9b6e4.
Reason for revert: This is broken (it send raw measurements, not
a ratio) but even if that's fixed, we're not sure how to compute the
95% confidence bounds for the ratio from the information produced by benchtab.
Change-Id: I9b182668e5f68771bb2c1992e9e1c0a30f8af9c0
Reviewed-on: https://go-review.googlesource.com/c/build/+/623996
Reviewed-by: Michael Pratt <mpratt@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Michael Knyszek <mknyszek@google.com>
benchseries seems to fall over on some of our benchmarks and it's
difficult to say why. But, benchstat works just fine.
This CL forks the internals of benchstat and rewrites benchCompare to
use them.
The comparison made by benchstat is slightly different than the one
made by benchseries, but it's not clear to me how. It might make sense
to try and flush InfluxDB and refill it with the new comparison, but I
suspect it's probably not worth it.
Change-Id: I7e1ea887106e6d7bd9bb310b6ee34cef47efde19
Reviewed-on: https://go-review.googlesource.com/c/build/+/623275
Reviewed-by: Michael Pratt <mpratt@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Right now the benchseries comparison performed on benchmark data and the
influx upload code is deeply intertwined. This makes it hard to test the
benchseries comparison code, and also makes it hard to just try out
one-off comparisons for debugging.
This change splits the logic of these two using a Go 1.23 iterator
(though they're not available in this repository yet).
For #69594.
Change-Id: Ibc104a7abf711b89e5f3a2dced91f6cd7dc9e882
Reviewed-on: https://go-review.googlesource.com/c/build/+/615137
Auto-Submit: Michael Knyszek <mknyszek@google.com>
Reviewed-by: David Chase <drchase@google.com>
Reviewed-by: Michael Pratt <mpratt@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
This was requested by the tools folks because it allows creating stable
links without knowing the magic query parameter.
Change-Id: I29570f70cf89957a54a09d9eb94c45ca1fb8a283
Reviewed-on: https://go-review.googlesource.com/c/build/+/613916
Reviewed-by: Michael Pratt <mpratt@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Currently the dashboard's influx queries hard-code linux/amd64. Remove
the hard-coding by adding a "platform" dropdown to the page and passing
that as a query parameter.
Change-Id: I18c19b95da9aae73b26d93ee850c3181de45b999
Reviewed-on: https://go-review.googlesource.com/c/build/+/613719
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Michael Pratt <mpratt@google.com>
Currently the "table"/"unit" page has its commit links broken because
the repository value is loaded from the drop-down UI element.
Unfortunately, that doesn't work because the callbacks for fetching
formfields.js won't run until the top-level code is done, so the UI
elements won't be properly prefilled.
Instead of relying on that, access the source-of-truth to get the
repository: the query parameters. This fixes the bug.
Change-Id: I91d3c81036e3722951d5353cdf4b5cff5c7c61a3
Reviewed-on: https://go-review.googlesource.com/c/build/+/613915
Reviewed-by: Michael Pratt <mpratt@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Michael Knyszek <mknyszek@google.com>
Change-Id: Ife18300373ea73af34f80a3d161794f50737cde5
Reviewed-on: https://go-review.googlesource.com/c/build/+/611555
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Michael Pratt <mpratt@google.com>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
With the CockroachDB benchmark, we now have some new units where higher
is better that don't get matched in the current heuristic. Change the
heuristic to look at unit suffixes to identify some common patterns for
describing throughput.
Change-Id: Ifebf661e2ed0dd104f211e54b9463c571ac8d008
Reviewed-on: https://go-review.googlesource.com/c/build/+/593095
Reviewed-by: Michael Pratt <mpratt@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
This change adds the formfields.json endpoint which the web client hits
to figure out what the valid form options should be. For now, it only
returns the full list of latest Go release branches as well as the
single latest release branch. This information is then used to
dynamically populate the branch dropdown. This means we no longer have
to manually update the list of supported releases.
While we're here, let's also add support for "latest-release" as a
pseudo-branch that picks the latest release. This allows subrepositories
which do not benchmark against Go at master to generate evergreen static
links to their benchmarks.
Fixesgolang/go#67530.
Change-Id: I8b1060686be86f5d1ecc55ae92e632873e60a445
Reviewed-on: https://go-review.googlesource.com/c/build/+/590656
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Michael Pratt <mpratt@google.com>
This change modifes the units page to show the full commit history as
the timeline, leaving blank spaces where there isn't any data for an
experiment commit. This makes skipped commits and commit ranges much
more obvious.
Change-Id: I71aa2390ab1b98053065537ca038f81d3eb491fc
Reviewed-on: https://go-review.googlesource.com/c/build/+/587921
Auto-Submit: Michael Knyszek <mknyszek@google.com>
Reviewed-by: Michael Pratt <mpratt@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
A bunch of the default benchmarks are no longer tracked (thier names
were updated). We can also stand to add a few additional benchmarks as
well; the page isn't very full.
Change-Id: I6b92d278ef7e8b7b33cb9d9fc4fb7c41e2884247
Reviewed-on: https://go-review.googlesource.com/c/build/+/587618
Reviewed-by: Michael Pratt <mpratt@google.com>
Auto-Submit: Michael Knyszek <mknyszek@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
A long-standing problem with the existing charts is that they always
expand out all data to fit the chart, since each commit is given equal
space on each chart. For benchmarks that go away, or change names, or
are added, this makes comparing two charts side-by-side difficult and
confusing.
The crux of the problem is that the commit list the charts are based on
is the list of commits that actually had benchmark runs for a given
builder.
This change modifies the charts' X axes to be based on the real commit
history of the repository, which is fetched by the server and passed
down to the client.
This also fixes a graphical bug with some of the binary size benchmarks
which have multiple data points for the same commit. Because the
benchmark samples are projected onto a separate history, it'll prevent
the squeezing that happens.
Change-Id: I8b341434b5443fa3bd4386b263dfef659bd509dc
Reviewed-on: https://go-review.googlesource.com/c/build/+/587617
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Michael Pratt <mpratt@google.com>
Auto-Submit: Michael Knyszek <mknyszek@google.com>
We moved from 8 core machines for performance tests recently to 16
core machines. Some of the benchmark names changed as a result. This
change updates those benchmarks that appear on the landing page.
Change-Id: If8964aff3491da3a5dd7d75d1ea7a9ab12365e88
Reviewed-on: https://go-review.googlesource.com/c/build/+/570239
Reviewed-by: Michael Pratt <mpratt@google.com>
Reviewed-by: David Chase <drchase@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Currently the dashboard landing page is broken because no data for some
of the benchmarks can be found. The reason for this is that we switched
to 16 core machines, so the old -8 benchmarks don't have data in the
last 30 days.
This change switches to using errors.Is for errBenchmarkNotFound. The
reason for the poor error message is because this error gets wrapped,
and we're not searching for it correctly. Using errors.Is let's us check
for the error more robustly. Also, if we can't find data on a particular
benchmark on the default page, I think it's OK to just skip it in
general. It'll be fairly obvious if something is wrong and all the data
is missing.
Change-Id: Iaad6700a6cb35d7ec1b2444b422d35fd55631f41
Reviewed-on: https://go-review.googlesource.com/c/build/+/570238
Reviewed-by: David Chase <drchase@google.com>
Reviewed-by: Michael Pratt <mpratt@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
We initially intended for a banner to show up to notify users about
a migration affecting the old dashboard. A banner turned out not to
be needed at this time. Since it was already prepared and might end
up being useful later on, add an invisible placeholder for now.
Unfortunately, it would take more refactoring than I was willing to
take on at this stage to make it possible for the unified banner to
be implemented in one place, so it is instead implemented inline in
multiple places.
For golang/go#65913.
Change-Id: I86fbf17b56711f0855e206e803eff8271019b6a8
Reviewed-on: https://go-review.googlesource.com/c/build/+/567498
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
- Change links to point at the LUCI build dashboard.
- Call the branch input "Go branch" and tweak the help text to match.
- Add some helpful text if no data could be fetched for charts.
- Update the release branch list to include new releases and drop old
ones.
Change-Id: If821a9919d5ae3e07ddc7e394c8887db0bb1d146
Reviewed-on: https://go-review.googlesource.com/c/build/+/563875
Reviewed-by: Michael Pratt <mpratt@google.com>
Auto-Submit: Michael Knyszek <mknyszek@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Otherwise no one will ever find it.
Change-Id: Ibcaf2df7d7b4a190dc7fa17f1bed92502830b6af
Reviewed-on: https://go-review.googlesource.com/c/build/+/563403
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Michael Pratt <mpratt@google.com>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Currently there's no way to identify a baseline change or a change in
the benchmarks as the source of a regression or improvement. This change
adds this information to the per-unit page, which at least allows for
*some* way to check it in the UI.
Change-Id: I28bfe7eca1dfb2792a1f7adc94b3ac7b4aa8911e
Reviewed-on: https://go-review.googlesource.com/c/build/+/563400
Reviewed-by: Michael Pratt <mpratt@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Michael Knyszek <mknyszek@google.com>
Currently perf.golang.org ingests only benchmark results produced by the
coordinator service account. Now that the LUCI perf builders are up, we
should target those instead. This change makes the switch.
Although it might seem prudent to support the old and new infrastructure
simultaneously, the old infra's perf builder has been broken since the
Go 1.22 release, since it's running out of disk space. (The LUCI
machines have plenty of disk space, so this shouldn't be a problem going
forward.) This presents an opportunity to do a clean switch and not fix
the old builder at all.
Change-Id: I7005f9d0996d20da0c4e01d36088ecd2e9e14021
Reviewed-on: https://go-review.googlesource.com/c/build/+/563399
Reviewed-by: Michael Pratt <mpratt@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Use a newer supported version.
For golang/go#64169.
Change-Id: Ice8fea55951bf1615a04aca24a870556c281877a
Reviewed-on: https://go-review.googlesource.com/c/build/+/556359
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Carlos Amedee <carlos@golang.org>
Done with:
go run cloud.google.com/go/internal/aliasfix/cmd/aliasfix@latest .
go mod tidy
As suggested in the package deprecation note¹.
¹ https://pkg.go.dev/google.golang.org/genproto/googleapis/cloud/secretmanager/v1#pkg-overview
Change-Id: Ibf91029e113b9cb199a306c7516a48c0307514e0
Reviewed-on: https://go-review.googlesource.com/c/build/+/531976
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Carlos Amedee <carlos@golang.org>
Change-Id: I2c308bcd0f0b603bdedeeef64dff64f3ef4ae4aa
Reviewed-on: https://go-review.googlesource.com/c/build/+/520576
Reviewed-by: Ian Lance Taylor <iant@google.com>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
Run-TryBot: Ian Lance Taylor <iant@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Auto-Submit: Ian Lance Taylor <iant@google.com>
This updates the repository to a currently supported version of
go1.20. Most of the Docker configuration files have been updated to
use go1.20 and Debian bookworm. This change is needed in order to
import some of the LUCI packages we intend to use.
Change-Id: Ibef9f2e5a0d5ee5b842cf4559c858630e32528eb
Reviewed-on: https://go-review.googlesource.com/c/build/+/518296
Auto-Submit: Carlos Amedee <carlos@golang.org>
Run-TryBot: Carlos Amedee <carlos@golang.org>
Reviewed-by: Heschi Kreinick <heschi@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Carlos Amedee <carlos@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
CL 498278 starts collecting PGO benchmark results with key pgo:on. This
CL adds PGO results to the dashboard via two different comparison
dimensions:
1. "/pgo=on,toolchain:baseline-vs-experiment" is "toolchain:baseline" vs
"toolchain:experiment" when "pgo:on". i.e., how much has performance
changed since baseline if PGO has been enabled the entire time.
2. "/toolchain:experiment,pgo=off-vs-on" is "pgo:off" vs "pgo:on" for
"toolchain:experiment". i.e., how much performance changes when
enabling PGO at experiment.
These names are added as a suffix to the existing benchmark name. The
unmodified benchmark name remains the same as before:
"toolchain:baseline" vs "toolchain:experiment" when "pgo:off".
I would argue that tracking (1) makes the most sense for a few reasons:
a. It is easier to understand the charts. If we make a non-PGO
optimization, both the standard (non-PGO) and (1) charts will show
improvement. If we make a PGO optimization, the standard chart will be
unchanged and (1) will show improvement. If we track (2), a non-PGO
optimization may show a regression (percentage closer to zero but still
negative) because the slightly faster experiment build has a smaller
percentage improvement when PGO is applied. This looks like things are
worse even though the overall binary is still faster.
b. The ultimate goal of PGO is to save money by making more efficient
binaries, which is what (1) shows, not to make a big delta vs PGO
disabled. The delta from PGO disabled is effectively "marketing" to show
folks it is worthwhile to switch it on.
That said, both can be interesting views, so this CLs enables both while
we gain experience with them.
Adding PGO runs is expected to increase benchmarking time to closer to
8hr. Bump the timeout to be safe.
Change-Id: I974aa84c03ac8df4b4c483c57a98805edc708574
Reviewed-on: https://go-review.googlesource.com/c/build/+/498335
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Run-TryBot: Michael Pratt <mpratt@google.com>
The Tile38 benchmarks were merged, so use the merged one. Also add p99
latency.
Change-Id: I6d36f8cd4d4cc60e25b754fc9136cce3832280e0
Reviewed-on: https://go-review.googlesource.com/c/build/+/491016
Reviewed-by: Michael Pratt <mpratt@google.com>
Auto-Submit: Michael Knyszek <mknyszek@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Michael Knyszek <mknyszek@google.com>
This benchmark was deleted and now the home page doesn't load because
there is no data.
For golang/go#58534.
Change-Id: Ic203932f6d9896dcd102484721cfe73152590403
Reviewed-on: https://go-review.googlesource.com/c/build/+/478615
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Michael Pratt <mpratt@google.com>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Replace "Go Authors" with "The Go Authors." to be consistent with the
standard copyright header at https://go.dev/doc/contribute#copyright.
There were also a couple instances of a double space and double "the".
Change-Id: Ife7a80dd40f1a760ba85cbfee270356d46cfc53f
Reviewed-on: https://go-review.googlesource.com/c/build/+/472376
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
Also fixes the higher is better logic for this page. Oops.
Change-Id: I27aa263526bd2be39f0ca55248e35b4b2cc672d8
Reviewed-on: https://go-review.googlesource.com/c/build/+/464356
Run-TryBot: Michael Knyszek <mknyszek@google.com>
Reviewed-by: David Chase <drchase@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
This change adds a vertical line at 0% that spans the page (meticulously
removing sources of padding and borders from the table to achieve it)
and also makes the center line thinner.
Change-Id: I79b1bbf77be7a8fc2e2d7cc8e368efedaddcecca
Reviewed-on: https://go-review.googlesource.com/c/build/+/464355
Reviewed-by: Michael Pratt <mpratt@google.com>
Reviewed-by: David Chase <drchase@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Michael Knyszek <mknyszek@google.com>
Auto-Submit: Michael Knyszek <mknyszek@google.com>
Currently commits on the per-unit dashboard page have anchors with IDs
that directly contain the commit hash. Although this hash is always a
valid ID, it may not be a valid CSS selector because it may start with a
digit. Fix this my prepending all anchors with the string "commit" and
updating links.
This also cleans up some logic with commitSelected in addTable.
Change-Id: I6d9a9306406c7778261c97a039bb284f17490f5e
Reviewed-on: https://go-review.googlesource.com/c/build/+/464298
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Michael Pratt <mpratt@google.com>
Run-TryBot: Michael Knyszek <mknyszek@google.com>
Auto-Submit: Michael Knyszek <mknyszek@google.com>
This change makes a few improvements to the regressions page:
1. It binds regressions to benchmark+unit, so now the regressions page
might break up the groupings compared to before (which is probably
OK).
2. This binding lets us avoid putting regression information into the
benchmark name, which previously broke the title's link, so this
change also moves that information to just above each graph.
3. This change adds a link to the regression information which jumps to
the offending commit on the per-benchmark+unit page.
4. It adds a file-an-issue link to the regressions page which
streamlines some of the overhead of triaging.
Note that deltaScore isn't exported to the regressions page anymore
because JSON can't tolerate negative infinities, and the new code is
trying to be as simple as possible. The next step is probably to filter
out non-regressions entirely, rather than try to make the deltaScore
work. We can also always bring it back as a string if we feel it's very
useful.
Change-Id: Ib7cf16ef92534fd1d9b9c23798e9474e20f4e8c2
Reviewed-on: https://go-review.googlesource.com/c/build/+/459518
Run-TryBot: Michael Knyszek <mknyszek@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Michael Pratt <mpratt@google.com>
This page helps avoid the need to zoom in on the chart SVGs to try and
select exactly the commit you want. It essentially shows an expanded
version of the graph as a table.
Change-Id: Ibf17f23c267b3ba0b1e4c51c32c6b5c927f53a95
Reviewed-on: https://go-review.googlesource.com/c/build/+/459517
Run-TryBot: Michael Knyszek <mknyszek@google.com>
Reviewed-by: Michael Pratt <mpratt@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
This makes the "regressions first" dashboard look kind of bad, but
that's OK; we'll clean that up in follow-up CLs.
Change-Id: I18c83c0e05fc996e50cb9fca33af738e50c58628
Reviewed-on: https://go-review.googlesource.com/c/build/+/459516
Run-TryBot: Michael Knyszek <mknyszek@google.com>
Reviewed-by: Michael Pratt <mpratt@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
This fixes AllComparisonSeries to return errors rather than panicking.
For golang/go#53538.
Change-Id: I872a1a77c8aedc3827dec650c21afa7c68b540af
Reviewed-on: https://go-review.googlesource.com/c/build/+/459195
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: David Chase <drchase@google.com>
Auto-Submit: Michael Pratt <mpratt@google.com>
Run-TryBot: Michael Pratt <mpratt@google.com>
First and foremost, we must ingest uploads on alternative branches.
Right now ingest only branch master.
On the frontend, add a dropdown for branch, very similar to the
repository dropdown. In the future, we should probably fetch a list of
branches rather than hard-coding them.
Note that the branch here is the Go branch that the perf builder
triggered against, which is a bit confusing for subrepos, but I've added
a note to try to explain.
For golang/go#53538.
Change-Id: Ib5b74b9e5d7b67ce2b04bc2bb22e3521dffaee36
Reviewed-on: https://go-review.googlesource.com/c/build/+/459155
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Run-TryBot: Michael Pratt <mpratt@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
The tools repo will soon have benchmark results. Split the dashboard by
repository (default 'go'), so that results aren't mixed together.
This is pretty straightforward. The Influx queries filter by repository
(backfilling any points without the 'repository' field as 'go') via a
URL parameter. The frontend adds a drop-down box to select the
repository.
The "All benchmarks" and "Regressions first" links unfortunately don't
maintain the repository setting (or duration/end time). That requires a
bit more JS magic.
For golang/go#53538.
Change-Id: I1d46a23558a37feef4c8c89cfb9c3927304ebb60
Reviewed-on: https://go-review.googlesource.com/c/build/+/458996
Run-TryBot: Michael Pratt <mpratt@google.com>
Reviewed-by: Dylan Le <dungtuanle@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
We need to match the entire string to avoid quotes, not just any part of
it. While we are here, log all queries we make.
Change-Id: I5daff2a7a13d607f0e5450e5a3b8f966a20ada47
Reviewed-on: https://go-review.googlesource.com/c/build/+/458997
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Michael Knyszek <mknyszek@google.com>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Run-TryBot: Michael Pratt <mpratt@google.com>
Auto-Submit: Michael Pratt <mpratt@google.com>
CL 454935 broke the Kubernetes ingress by requiring IAP on health
checks. Move /healthz handling into internal/https, where it
automatically bypasses authentication and removes some duplicate trivial
implementations.
Unfortunately, GKE is not capable of inferring health check parameters
from a multi-container pod like relui, so we have to change our
BackendConfig. That sets off a yak shave -- I made the questionable
decision to use the same backend for all our IAP services, and the
coordinator doesn't currently support /healthz. Split all them up and
delete the devapp configuration I was using for testing way back in the
day.
Change-Id: I45e866d30508a07e9a805de70af731dd64c22d7f
Reviewed-on: https://go-review.googlesource.com/c/build/+/455215
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Auto-Submit: Heschi Kreinick <heschi@google.com>
Run-TryBot: Heschi Kreinick <heschi@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
These are not related to regression detection, so move them from the
middle of the regression functions.
For golang/go#48803.
Change-Id: If9d0d1d7560c54db5da6feb83cdaaffa803ba056
Reviewed-on: https://go-review.googlesource.com/c/build/+/442259
Reviewed-by: David Chase <drchase@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Michael Pratt <mpratt@google.com>