1
0
mirror of https://github.com/golang/go synced 2024-11-19 03:34:41 -07:00
Commit Graph

56 Commits

Author SHA1 Message Date
Dmitriy Vyukov
d183041bb0 dashboard: update update script to delete Commit.PerfResult
This is required to repair perf data in the datastore.
Update golang/go#8930.

LGTM=adg
R=adg
CC=golang-codereviews
https://golang.org/cl/158320043
2014-10-22 17:44:46 +04:00
Andrew Gerrand
501f6851f9 go.tools/dashboard: silence notifications from netbsd-amd64-bsiegert
It is a flaky builder.

LGTM=dave
R=golang-codereviews, dave
CC=golang-codereviews
https://golang.org/cl/155620047
2014-10-22 11:54:29 +11:00
Dmitriy Vyukov
78ab88e721 dashboard: fix perf graph view
1. Add missing comma to empty records after addition of Ann column.
2. Fix off-by-one in commit range calculation.
Release tags refer to the last commit of the release,
so there is no need to subtract 1 from them.

TBR=adg
R=adg, bradfitz
CC=golang-codereviews
https://golang.org/cl/157120043
2014-10-18 14:39:02 +04:00
Dmitriy Vyukov
e2b4e09ae1 dashboard: ensure that we ever store valid commits
LGTM=bradfitz
R=bradfitz
CC=golang-codereviews, rsc
https://golang.org/cl/160960043
2014-10-17 14:51:03 +04:00
Dmitriy Vyukov
444afab9dd dashboard: add Help button to perf pages
As per Russ' request I've described perf dashboard here:
https://code.google.com/p/go-wiki/wiki/PerfDashboard
And adding links to that page.

LGTM=bradfitz
R=adg, rsc, bradfitz
CC=golang-codereviews
https://golang.org/cl/153620045
2014-10-17 13:56:22 +04:00
Dmitriy Vyukov
2a277d9349 dashboard: further improve graph view
1. Don't interpolate missing data points,
instead just use the previous value for missing points.
Interpolation hides significant line jumps,
making it look like the jump is a result of several small changes.
2. Add annotations for significant changes.

LGTM=adg
R=adg
CC=golang-codereviews, iant, rsc
https://golang.org/cl/154360046
2014-10-17 12:17:50 +04:00
Dmitriy Vyukov
165ed12db1 dashboard: fix pagination on perf page
Currently the 'latest' button on perf page leads to build page.

LGTM=adg
R=adg
CC=golang-codereviews
https://golang.org/cl/159990044
2014-10-17 12:17:35 +04:00
Dmitriy Vyukov
ddb83b4815 dashboard: faster perf data fetching
Use single query to fetch commit runs and metric runs (instead of individual selects).
Hopefully this enables some kind of prefetching.
But more importantly it allows to work around "gaps" in commit nums,
as we only fetch data that is actually in the database
and don't try to query all commit runs in the "gap".

LGTM=adg
R=adg
CC=golang-codereviews, rsc
https://golang.org/cl/159910045
2014-10-17 11:38:11 +04:00
Dmitriy Vyukov
3eede9be08 dashboard: improve graph view
Several changes as per Russ and Ian requests:

1. Fix almost broken ZoomIn/ZoomOut/Newer/Older with ability zoom in/out and move left/right w/o reloading (the 'explorer' attribute on graph).

2. Start the graph from the current release by default.

3. Allow to select the range of commits by specifying release range (e.g. go1.1 to go1.3 or go1.3 to tip).

4. Make it visually clear that you can select several benchmarks/metrics (replace select with a set of checkboxes).

5. Remove the "absolute" mode. Instead normalize all metrics to the start of the release (start becomes 1.0) and all subsequent changes are relative to it.

LGTM=adg
R=adg
CC=golang-codereviews, iant, rsc
https://golang.org/cl/159980043
2014-10-17 11:34:53 +04:00
Dmitriy Vyukov
4201ff03b5 dashboard: separate build and non-build metrics in perf dashboard
As per Ian request:

>> Let's clearly separate the build numbers from the runtime numbers.
>> The build numbers are interesting but there are many things that
>> affect them.  The runtime numbers are presumably stable.

LGTM=adg
R=adg
CC=golang-codereviews, iant, rsc
https://golang.org/cl/154440043
2014-10-17 11:34:27 +04:00
Dmitriy Vyukov
a0cb59fbc3 dashboard: highlight positive changes
Initially both positive and negative changes had solid background (green and red).
Then we removed background of positive changes due to:
https://code.google.com/p/go/issues/detail?id=8624
However, Ian noted:

"I did intuitively understand that + was an increase and - was a
decrease.  I did not notice how the numbers were segregated between
the third and fourth columns.  Now that you point it out, it is
obvious.  It would be more obvious if the numbers in the fourth column
were highlighted in green."

Give positive changes green *border* (not background),
so they are still visually distinguishable from negative even in grayscale.
This is especially beneficial for perf detail view,
because currently it looks like everything is either
negative or neutral in that view (only red and black).

LGTM=adg
R=adg
CC=golang-codereviews, iant, rsc
https://golang.org/cl/159970043
2014-10-17 11:32:43 +04:00
Russ Cox
46e9d8e060 dashboard/app: ignore, try not to create partial Commits
It looks like the partial Commits are coming from the build breakages mails.
If you have commit A newer than commit B, then there are two code
paths depending on which reports its build result first.
For slow development, B finishes before A is committed, so when
A notices a failure it checks to see if B was okay.
That code path seems to be okay.
For submit of back-to-back changes, typically A finishes before B,
so when B notices an okay it checks to see if A failed.
That code path seems to zero the Commit for A while
trying to set its FailNotificationSent to true.
It does (did) succeed in setting FailNotificationSent to true,
it just zeroed everything else.

This CL adds code to refuse to do the datastore.Put to
update FailNotificationSent if the Commit info is incomplete.

It also tries to ignore Num=0 records, but that may not be
as important anymore.

LGTM=cmang
R=cmang
CC=golang-codereviews
https://golang.org/cl/154080043
2014-10-07 15:37:31 -04:00
Andrew Gerrand
f463296c27 go.tools/dashboard/app: document special error string
TBR=bradfitz
R=bradfitz
CC=golang-codereviews
https://golang.org/cl/152250043
2014-10-07 09:58:49 +11:00
Andrew Gerrand
fcf4a08452 go.tools/dashboard/app: return specific error string on commit not found
TBR=bradfitz
R=bradfitz
CC=golang-codereviews
https://golang.org/cl/153070043
2014-10-06 16:28:27 +11:00
Andrew Gerrand
51be54e32f go.tools/dashboard/app: show main repo commits with no build results
The UI template iterates over ResultGoHashes to display the Commit
rows. This was done for the sub-repository build view, where it
only makes sense to show a row when there's build data for it.

However, in the main page UI we do want to see if a commit has hit
the dashboard but has not yet been built.

This change causes the dashboard to show the commit row even if
there are no build results for it yet.

LGTM=bradfitz
R=bradfitz
CC=golang-codereviews
https://golang.org/cl/153010043
2014-10-04 14:18:41 +10:00
Andrew Gerrand
fce07d6ae8 go.tools/dashboard/app: fix integration tests
They had been broken after a few recent changes.

LGTM=bradfitz
R=bradfitz
CC=golang-codereviews
https://golang.org/cl/152150043
2014-10-04 08:33:52 +10:00
Andrew Gerrand
8f69c6b2df go.tools/dashboard/app: require version=2 for commit updates
This will prevent older, buggy builders from posting commits.

LGTM=bradfitz
R=bradfitz
CC=golang-codereviews
https://golang.org/cl/153930043
2014-10-04 08:25:32 +10:00
Brad Fitzpatrick
29d9ef959c dashboard: more robust commit handler, and allow modifications
LGTM=rsc, adg
R=golang-codereviews, rsc, adg
CC=dvyukov, golang-codereviews
https://golang.org/cl/136540044
2014-09-25 18:06:17 -07:00
Andrew Gerrand
520acf2e17 go.tools/dashboard/app: don't ignore field mismatch errors
This was a hold-over from when we removed install counts years ago.
All the Package entities are well-formed these days.

LGTM=dsymonds
R=dsymonds
CC=golang-codereviews
https://golang.org/cl/138620043
2014-09-18 18:07:02 +10:00
Andrew Gerrand
37340ffc2f go.tools/dashboard: use shorter notification template for cl updates
LGTM=dvyukov
R=dvyukov
CC=golang-codereviews
https://golang.org/cl/139320043
2014-09-12 11:14:03 +10:00
Andrew Gerrand
850afc6bb5 go.tools/dashboard/app: update CL threads with perf notifications
LGTM=dvyukov
R=dvyukov
CC=golang-codereviews, rsc
https://golang.org/cl/135460043
2014-09-08 15:46:41 +10:00
Andrew Gerrand
a455c4c58e go.tools/dashboard/app: drop green coloring from perf dashboard
Fixes golang/go#8624.

LGTM=dave, aram
R=dvyukov, dave, aram
CC=golang-codereviews
https://golang.org/cl/140840043
2014-09-03 12:54:38 +10:00
Dmitriy Vyukov
297fd8229c dashboard/app: actually learn noise levels
LGTM=adg
R=adg
CC=golang-codereviews
https://golang.org/cl/135190043
2014-09-01 12:51:14 +04:00
Andrew Gerrand
61ce470a5e go.tools/dashboard/app: fix column order for -temp builders
LGTM=bradfitz
R=bradfitz
CC=golang-codereviews
https://golang.org/cl/138760044
2014-08-28 10:57:52 +10:00
Andrew Gerrand
cb487641b8 go.tools/dashboard: fix integration test
LGTM=dvyukov
R=dvyukov
CC=golang-codereviews
https://golang.org/cl/126700043
2014-08-26 17:34:24 +10:00
Andrew Gerrand
51353854a4 go.tools/dashboard: display "-temp" builders last
LGTM=bradfitz
R=bradfitz
CC=golang-codereviews
https://golang.org/cl/133000043
2014-08-26 14:49:16 +10:00
Andrew Gerrand
c21a767b2c go.tools/dashboard/app: reject /commit requests from old builders
This is so that we don't corrupt our commit history with reports
from old builders, after the migration to the latest build dashboard.

LGTM=dvyukov
R=dvyukov
CC=golang-codereviews
https://golang.org/cl/130300043
2014-08-20 21:45:01 +10:00
Dmitriy Vyukov
5d476c5293 dashboard/app: dedup changes in UI
Currently for every benchmark/metric we show all changes for all builders x procs.
With 4 builders and 5 procs, that's 20 changes (20 red/green boxes in a single cell).
Instead show only maximum change for every benchmark/metric.
This significantly reduces clutter in UI.
When you click on the red/green box, you can see the rest of the changes.

LGTM=adg
R=adg
CC=golang-codereviews
https://golang.org/cl/126430043
2014-08-20 13:24:05 +04:00
Dmitriy Vyukov
1d2a500105 dashboard/app: allow to gob-encode PerfChange
Currently appspot logs say:
delay: gob encoding failed: gob: type build.PerfChange has no exported fields
And I was thinking why it is not sending mails...

LGTM=adg
R=adg
CC=golang-codereviews
https://golang.org/cl/125480043
2014-08-20 13:20:12 +04:00
Dmitriy Vyukov
f579fb3656 dashboard/app: eliminate more flakes
Currently we still see some flakes on perf dashboard (e.g. sys-stack is quite frequent).
I am planning to run real perf builder with 5 different values of GOMAXPROCS,
so we can require 3 builders to agree on a change instead of 2.
This will provide 20x improvement in flake detection.
At the same time lower noise bar from 1.2 to 1.1, as I see some real perf changes gets ignored as noise.

All these magic numbers affect only representation of data, but not the data stored in DB.
So we can continue freely tuning them later. There are no significant risks here.

LGTM=adg
R=adg
CC=golang-codereviews
https://golang.org/cl/127520044
2014-08-19 16:22:27 +04:00
Andrew Gerrand
92eb99d907 go.tools/dashboard: fix various small UI issues
- stop time column from wrapping,
- fix pagination on front page,
- left-align pagination buttons.

LGTM=dvyukov
R=dvyukov, golang-codereviews
CC=golang-codereviews
https://golang.org/cl/126410043
2014-08-19 20:43:50 +10:00
Andrew Gerrand
2607e9b47a go.tools/dashboard/app: add go.sys to builder package list
LGTM=r
R=r
CC=golang-codereviews
https://golang.org/cl/129030043
2014-08-13 07:55:36 +10:00
Dmitriy Vyukov
9ba88c9a99 dashboard/app: tag 1.3 release
R=adg
TBR=adg
CC=golang-codereviews
https://golang.org/cl/102590043
2014-06-21 07:48:41 +04:00
Andrew Gerrand
707c7629cb dashboard: split key handler into key package, add TimeKey to cache
LGTM=dsymonds
R=golang-codereviews, dsymonds
CC=golang-codereviews
https://golang.org/cl/104780044
2014-06-02 08:39:03 +10:00
Chris Manghane
c309b30e41 go.tools/dashboard: update existing results when builder retries a commit
LGTM=adg
R=adg
CC=golang-codereviews
https://golang.org/cl/96360047
2014-05-19 09:51:04 -07:00
Dmitriy Vyukov
240540d096 dashboard: database updater for performance dashboard (server part)
This CL moves code from code.google.com/p/dvyukov-go-perf-dashboard,
which was previously reviewed.

LGTM=adg
R=adg
CC=golang-codereviews
https://golang.org/cl/96170043
2014-05-13 11:02:19 +04:00
Dmitriy Vyukov
904c4641c7 dashboard: server app UI changes for performance dashboard
This CL moves code from code.google.com/p/dvyukov-go-perf-dashboard,
which was previously reviewed.

LGTM=adg
R=adg
CC=golang-codereviews
https://golang.org/cl/96180043
2014-05-13 11:01:50 +04:00
Dmitriy Vyukov
828191dc1e dashboard: server app changes for performance dashboard
This CL moves code from code.google.com/p/dvyukov-go-perf-dashboard,
which was previously reviewed.
UI part will be submitted separately.

LGTM=adg
R=adg
CC=golang-codereviews
https://golang.org/cl/97260043
2014-05-13 11:00:32 +04:00
Andrew Gerrand
58edf2a69d go.tools/dashboard: option to show only "first-class" ports
LGTM=rsc
R=rsc, minux.ma, iant, oleku.konko
CC=golang-codereviews
https://golang.org/cl/81730043
2014-03-31 08:54:14 +11:00
Andrew Gerrand
5893c271ff go.tools/dashboard: include builder in "invalid key" error message
LGTM=bradfitz
R=bradfitz
CC=golang-codereviews
https://golang.org/cl/77250043
2014-03-18 16:02:54 +11:00
Andrew Gerrand
ccd43c1d95 go.tools/dashboard/app: send log hash to gobot on build failure
Fixes golang/go#7322.

LGTM=rsc
R=rsc
CC=golang-codereviews
https://golang.org/cl/75630043
2014-03-14 09:51:13 +11:00
Andrew Gerrand
744443b9dc go.tools/dashboard/app: silence solaris11 and dragonfly builders
LGTM=aram, minux.ma
R=minux.ma, jsing, ality, aram, 0intro
CC=golang-codereviews
https://golang.org/cl/69980045
2014-03-04 11:53:58 +11:00
Andrew Gerrand
b277773706 go.tools/dashboard/app: tweak build column order
LGTM=rsc
R=rsc
CC=golang-codereviews
https://golang.org/cl/63590043
2014-02-14 11:35:50 +11:00
Andrew Gerrand
8aae138131 go.tools/dashboard/app: update bad builder list
LGTM=r
R=r, minux.ma
CC=golang-codereviews
https://golang.org/cl/57580043
2014-01-28 17:59:29 +11:00
Andrew Gerrand
5cb6365d33 go.tools/dashboard/app: show sub-repository build history
LGTM=cmang
R=adonovan, gobot, cmang
CC=golang-codereviews
https://golang.org/cl/56410043
2014-01-28 14:30:48 +11:00
Andrew Gerrand
3b2989e9ea go.tools/dashboard: update CL on build failure
Only send mail to golang-dev if updating the CL fails.

R=golang-codereviews, dvyukov, minux.ma, rsc
CC=golang-codereviews
https://golang.org/cl/43760043
2014-01-24 14:52:23 +11:00
Andrew Gerrand
3342856161 go.tools/dashboard/app: sort builder columns in a more useful manner
Supported operating systems first, then race builders, then the rest.

R=r, bradfitz
CC=golang-codereviews
https://golang.org/cl/56190043
2014-01-24 09:13:34 +11:00
Dmitriy Vyukov
676ac131e1 dashboard/app: properly limit commit description length
Ensure that we do not split UTF-8 rune in half.
Otherwise appengine python scripts will break badly.

R=adg, r
CC=golang-dev
https://golang.org/cl/42530043
2013-12-17 12:14:27 +04:00
Chris Manghane
2cbda9de61 go.tools/dashboard: Fix incorrect parsing of log hash.
R=adg
CC=golang-dev
https://golang.org/cl/43000043
2013-12-16 14:50:09 -08:00
Andrew Gerrand
05f8c7dc66 go.tools/dashboard/app: app index.yaml
This is equivalent to the previously-reviewed change to Dmitry's
performance dashboard repo clone:
https://golang.org/cl/35490043

R=golang-dev, dave
CC=golang-dev
https://golang.org/cl/39840043
2013-12-10 16:43:15 +11:00