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).
Created attachment 221624 [details]
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 on attachment 221624 [details]
View in context: https://bugs.webkit.org/attachment.cgi?id=221624&action=review
> + * Copyright (C) 2013 Apple Inc. All rights reserved.
Nit: should read 2014 or 2013, 2014.
> + // 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.
> + var hours = Math.floor(timeDifference / (60 * 60));
> + var minutes = Math.floor((timeDifference - hours * 60 * 60) / 60);
Can we define a constant like secondsPerHour?
> + this.addLinkToRow(rowElement, "patch-details-link", patch.attachmentID, patch.statusPageURL);
Looks like the code block below could be extracted as a helper function.