Bug 127006 - build.webkit.org/dashboard should display information about patches in EWS
Summary: build.webkit.org/dashboard should display information about patches in EWS
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P3 Normal
Assignee: Alexey Proskuryakov
Depends on: 127265
  Show dependency treegraph
Reported: 2014-01-14 13:45 PST by Alexey Proskuryakov
Modified: 2014-01-20 13:29 PST (History)
3 users (show)

See Also:

proposed patch (20.88 KB, patch)
2014-01-19 23:59 PST, Alexey Proskuryakov
rniwa: review+
Details | Formatted Diff | Diff
screenshot (188.41 KB, image/png)
2014-01-20 00:04 PST, Alexey Proskuryakov
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alexey Proskuryakov 2014-01-14 13:45:36 PST
Currently, the dashboard only displays how many patches there are in queue.

It would be helpful to see how long processing each patch takes (by time and/or retry count).
Comment 1 Alexey Proskuryakov 2014-01-19 23:59:40 PST
Created attachment 221624 [details]
proposed patch
Comment 2 Alexey Proskuryakov 2014-01-20 00:04:48 PST
Created attachment 221626 [details]

It is quite tricky to present EWS status in a useful way, because EWS design is such that it's impossible to know what each bot is doing, or what's happening with a patch right now. We only know about events after the fact, when results are logged - with the only exception of a bot taking ownership of a patch, which it does right before building for the first time.

I think that the popover will be useful anyway - for example, it is obvious in the screenshot that something is seriously wrong with a patch that took 88 attempts (I suspect that it's a bug somewhere in our toolchain, but haven't looked into it yet).
Comment 3 Ryosuke Niwa 2014-01-20 01:38:14 PST
Comment on attachment 221624 [details]
proposed patch

View in context: https://bugs.webkit.org/attachment.cgi?id=221624&action=review

> Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Bugzilla.js:2
> + * Copyright (C) 2013 Apple Inc. All rights reserved.

Nit: should read 2014 or 2013, 2014.

> Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWSQueue.js:123
> +                // The server returns all bots that have ever checked in with it. We only need currently active bots.
> +                var oneDayInMilliseconds = 24 * 60 * 60 * 1000;
> +                if (latestMessageTime < Date.now() - oneDayInMilliseconds)

I would prefer declaring a local variable named like botIsCurrentlyActive instead of having a comment like this.

> Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWSQueueView.js:128
> +        var hours = Math.floor(timeDifference / (60 * 60));
> +        var minutes = Math.floor((timeDifference - hours * 60 * 60) / 60);

Can we define a constant like secondsPerHour?

> Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWSQueueView.js:155
> +            this.addLinkToRow(rowElement, "patch-details-link", patch.attachmentID, patch.statusPageURL);

Looks like the code block below could be extracted as a helper function.
Comment 4 Alexey Proskuryakov 2014-01-20 13:29:41 PST
Committed <http://trac.webkit.org/r162373>.