Changeset 174366 in webkit
- Timestamp:
- Oct 6, 2014 2:37:28 PM (10 years ago)
- Location:
- trunk/Tools
- Files:
-
- 6 edited
- 3 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueue.js
r174343 r174366 24 24 */ 25 25 26 EWSQueue = function(ews, id, info)26 BubbleQueue = function(queueServer, id, info) 27 27 { 28 28 BaseObject.call(this); 29 29 30 console.assert( ews);30 console.assert(queueServer); 31 31 console.assert(id); 32 32 33 this. ews = ews;33 this.queueServer = queueServer; 34 34 this.id = id; 35 35 this.title = info.title || "\xa0"; 36 36 37 this.platform = info.platform .name ||"unknown";37 this.platform = info.platform ? info.platform.name : "unknown"; 38 38 }; 39 39 40 BaseObject.addConstructorFunctions( EWSQueue);40 BaseObject.addConstructorFunctions(BubbleQueue); 41 41 42 EWSQueue.Event = {42 BubbleQueue.Event = { 43 43 Updated: "updated" 44 44 }; 45 45 46 EWSQueue.prototype = {47 constructor: EWSQueue,46 BubbleQueue.prototype = { 47 constructor: BubbleQueue, 48 48 __proto__: BaseObject.prototype, 49 49 50 50 get statusPageURL() 51 51 { 52 return this. ews.queueStatusURL(this.id);52 return this.queueServer.queueStatusURL(this.id); 53 53 }, 54 54 … … 84 84 this._loadedDetailedStatus = false; 85 85 86 JSON.load(this. ews.jsonQueueLengthURL(this.id), function(data) {86 JSON.load(this.queueServer.jsonQueueLengthURL(this.id), function(data) { 87 87 var newPatchCount = data.queue_length; 88 88 if (this._patchCount == newPatchCount) 89 89 return; 90 90 this._patchCount = newPatchCount; 91 this.dispatchEventToListeners( EWSQueue.Event.Updated, null);91 this.dispatchEventToListeners(BubbleQueue.Event.Updated, null); 92 92 }.bind(this)); 93 93 }, … … 95 95 loadDetailedStatus: function(callback) 96 96 { 97 JSON.load(this. ews.jsonQueueStatusURL(this.id), function(data) {97 JSON.load(this.queueServer.jsonQueueStatusURL(this.id), function(data) { 98 98 this._queue = []; 99 99 for (var i = 0, end = data.queue.length; i < end; ++i) { -
trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js
r174343 r174366 24 24 */ 25 25 26 EWS= function()26 BubbleQueueServer = function() 27 27 { 28 28 const queueInfo = { 29 "mac": {platform: Dashboard.Platform.MacOSXMountainLion, title: "WebKit1 Release Tests"}, 30 "mac-wk2": {platform: Dashboard.Platform.MacOSXMountainLion, title: "WebKit2 Release Tests"}, 31 "win": {platform: Dashboard.Platform.Windows7, title: "WebKit1 Release Build"}, 32 "gtk-wk2": {platform: Dashboard.Platform.LinuxGTK, title: "WebKit2 Release Build"}, 33 "efl-wk2": {platform: Dashboard.Platform.LinuxEFL, title: "WebKit2 Release Build"} 29 "commit-queue": {platform: Dashboard.Platform.MacOSXMountainLion, shortName: "commit", title: "Commit Queue"}, 30 "style-queue": {shortName: "style", title: "Style Checker Queue"}, 31 "mac-ews": {platform: Dashboard.Platform.MacOSXMountainLion, shortName: "mac", title: "WebKit1\xa0Release\xa0Tests\xa0EWS"}, 32 "mac-wk2-ews": {platform: Dashboard.Platform.MacOSXMountainLion, shortName: "mac-wk2", title: "WebKit2\xa0Release\xa0Tests\xa0EWS"}, 33 "win-ews": {platform: Dashboard.Platform.Windows7, shortName: "win", title: "WebKit1\xa0Release\xa0Build\xa0EWS"}, 34 "gtk-wk2-ews": {platform: Dashboard.Platform.LinuxGTK, shortName: "gtk-wk2", title: "WebKit2\xa0Release\xa0Build\xa0EWS"}, 35 "efl-wk2-ews": {platform: Dashboard.Platform.LinuxEFL, shortName: "efl-wk2", title: "WebKit2\xa0Release\xa0Build\xa0EWS"} 34 36 }; 35 37 … … 40 42 41 43 for (var id in queueInfo) 42 this.queues[id] = new EWSQueue(this, id, queueInfo[id]);44 this.queues[id] = new BubbleQueue(this, id, queueInfo[id]); 43 45 }; 44 46 45 BaseObject.addConstructorFunctions( EWS);47 BaseObject.addConstructorFunctions(BubbleQueueServer); 46 48 47 EWS.prototype = {48 constructor: EWS,49 BubbleQueueServer.prototype = { 50 constructor: BubbleQueueServer, 49 51 __proto__: BaseObject.prototype, 50 52 51 53 jsonQueueLengthURL: function(queueID) 52 54 { 53 return this.baseURL + "queue-length-json/" + encodeURIComponent(queueID) + "-ews";55 return this.baseURL + "queue-length-json/" + encodeURIComponent(queueID); 54 56 }, 55 57 56 58 jsonQueueStatusURL: function(queueID) 57 59 { 58 return this.baseURL + "queue-status-json/" + encodeURIComponent(queueID) + "-ews";60 return this.baseURL + "queue-status-json/" + encodeURIComponent(queueID); 59 61 }, 60 62 61 63 queueStatusURL: function(queueID) 62 64 { 63 return this.baseURL + "queue-status/" + encodeURIComponent(queueID) + "-ews";65 return this.baseURL + "queue-status/" + encodeURIComponent(queueID); 64 66 }, 65 67 }; -
trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueView.js
r174343 r174366 24 24 */ 25 25 26 EWSQueueView = function(queues)26 BubbleQueueView = function(queues) 27 27 { 28 28 QueueView.call(this); … … 32 32 this.queues.forEach(function(queue) { 33 33 if (this.platform && this.platform != queue.platform) 34 throw "A EWSview may not contain queues for multiple platforms."34 throw "A bubble queue view may not contain queues for multiple platforms." 35 35 else 36 36 this.platform = queue.platform; 37 queue.addEventListener( EWSQueue.Event.Updated, this._queueUpdated, this);37 queue.addEventListener(BubbleQueue.Event.Updated, this._queueUpdated, this); 38 38 }.bind(this)); 39 39 … … 41 41 }; 42 42 43 BaseObject.addConstructorFunctions( EWSQueueView);44 45 EWSQueueView.prototype = {46 constructor: EWSQueueView,43 BaseObject.addConstructorFunctions(BubbleQueueView); 44 45 BubbleQueueView.prototype = { 46 constructor: BubbleQueueView, 47 47 __proto__: QueueView.prototype, 48 48 … … 68 68 this.element.appendChild(status.element); 69 69 70 new PopoverTracker(status.statusBubbleElement, this._presentPopoverFor EWSQueue.bind(this), queue);70 new PopoverTracker(status.statusBubbleElement, this._presentPopoverForBubbleQueue.bind(this), queue); 71 71 } 72 72 … … 99 99 title.className = "popover-queue-heading"; 100 100 101 this.addTextToRow(title, "queue-name", queue.id + " ews queue");101 this.addTextToRow(title, "queue-name", queue.id); 102 102 this.addLinkToRow(title, "queue-status-link", "status page", queue.statusPageURL); 103 103 this.addLinkToRow(title, "queue-charts-link", "charts", queue.chartsPageURL); … … 139 139 }, 140 140 141 _popoverContentFor EWSQueue: function(queue)141 _popoverContentForBubbleQueue: function(queue) 142 142 { 143 143 var content = document.createElement("div"); 144 content.className = " ews-popover";144 content.className = "bubble-server-popover"; 145 145 146 146 this._addQueueHeadingToPopover(queue, content); … … 195 195 }, 196 196 197 _presentPopoverFor EWSQueue: function(element, popover, queue)197 _presentPopoverForBubbleQueue: function(element, popover, queue) 198 198 { 199 199 if (queue.loadedDetailedStatus) 200 var content = this._popoverContentFor EWSQueue(queue);200 var content = this._popoverContentForBubbleQueue(queue); 201 201 else { 202 202 var content = document.createElement("div"); 203 content.className = " ews-popover";203 content.className = "bubble-server-popover"; 204 204 205 205 var loadingIndicator = document.createElement("div"); … … 209 209 210 210 queue.loadDetailedStatus(function() { 211 popover.content = this._popoverContentFor EWSQueue(queue);211 popover.content = this._popoverContentForBubbleQueue(queue); 212 212 }.bind(this)); 213 213 } -
trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Initialization.js
r173924 r174366 29 29 if (typeof Bugzilla !== "undefined") 30 30 var bugzilla = new Bugzilla; 31 if (typeof EWS!== "undefined")32 var ews = new EWS;31 if (typeof BubbleQueueServer !== "undefined") 32 var bubbleQueueServer = new BubbleQueueServer; 33 33 if (typeof TestHistory !== "undefined") 34 34 var testHistory = new TestHistory; -
trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js
r173211 r174366 1 1 /* 2 * Copyright (C) 2013 Apple Inc. All rights reserved.2 * Copyright (C) 2013, 2014 Apple Inc. All rights reserved. 3 3 * 4 4 * Redistribution and use in source and binary forms, with or without … … 24 24 */ 25 25 26 var has EWS = typeof ews!= "undefined";27 var EWSCategory = "ews";26 var hasBubbles = typeof bubbleQueueServer != "undefined"; 27 var BubblesCategory = "bubbles"; 28 28 29 29 var categorizedQueuesByPlatformAndBuildType = {}; … … 65 65 } 66 66 67 if (has EWS) {68 for (var id in ews.queues) {69 var queue = ews.queues[id];67 if (hasBubbles) { 68 for (var id in bubbleQueueServer.queues) { 69 var queue = bubbleQueueServer.queues[id]; 70 70 var platform = categorizedQueuesByPlatformAndBuildType[queue.platform]; 71 71 if (!platform) … … 74 74 platform.builders = {}; 75 75 76 var categoryName = EWSCategory;76 var categoryName = BubblesCategory; 77 77 78 78 platformQueues = platform[categoryName]; … … 155 155 row.appendChild(header); 156 156 157 if (hasEWS) { 157 if (hasBubbles) { 158 // Currently, EWS and commit queues are the only items in Other category. 159 // To add more (e.g. leaks bot), we'll need to refactor view classes. 158 160 var header = document.createElement("th"); 159 header.textContent = " EWS";161 header.textContent = "Other"; 160 162 row.appendChild(header); 161 163 } … … 221 223 row.appendChild(cell); 222 224 223 if (has EWS) {225 if (hasBubbles) { 224 226 var cell = document.createElement("td"); 225 227 226 if (platformQueues[ EWSCategory]) {227 var view = new EWSQueueView(platformQueues[EWSCategory]);228 if (platformQueues[BubblesCategory]) { 229 var view = new BubbleQueueView(platformQueues[BubblesCategory]); 228 230 cell.appendChild(view.element); 229 231 } -
trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/MetricsMain.js
r173273 r174366 24 24 */ 25 25 26 var hasEWS = typeof ews !== "undefined";27 var EWSCategory = "ews";28 29 26 var analyzer = new Analyzer; 30 27 … … 68 65 } 69 66 70 if (hasEWS) {71 for (var id in ews.queues) {72 var queue = ews.queues[id];73 var platform = categorizedQueuesByPlatformAndBuildType[queue.platform];74 if (!platform)75 platform = categorizedQueuesByPlatformAndBuildType[queue.platform] = {};76 if (!platform.builders)77 platform.builders = {};78 79 var categoryName = EWSCategory;80 81 platformQueues = platform[categoryName];82 if (!platformQueues)83 platformQueues = platform[categoryName] = [];84 85 platformQueues.push(queue);86 }87 }88 89 67 var testNames = {}; 90 68 testNames[Buildbot.TestCategory.WebKit2] = "WK2 Tests"; … … 175 153 row.appendChild(header); 176 154 177 if (hasEWS) {178 var header = document.createElement("th");179 header.textContent = "EWS";180 row.appendChild(header);181 }182 183 155 table.appendChild(row); 184 156 … … 229 201 } 230 202 231 if (hasEWS) {232 var header = document.createElement("th");233 header.textContent = "EWS";234 row.appendChild(header);235 }236 237 203 table.appendChild(row); 238 204 … … 281 247 if (platformQueues[testerProperty]) { 282 248 var view = new MetricsView(analyzer, allQueues(platformQueues[testerProperty])); 283 cell.appendChild(view.element);284 }285 286 row.appendChild(cell);287 }288 289 if (hasEWS) {290 var cell = document.createElement("td");291 292 if (platformQueues[EWSCategory]) {293 var view = new EWSQueueView(platformQueues[EWSCategory]);294 249 cell.appendChild(view.element); 295 250 } -
trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/QueueView.css
r173228 r174366 121 121 } 122 122 123 . ews-popover,123 .bubble-server-popover, 124 124 .performance-popover { 125 125 font-family: "HelveticaNeue-Light", "Helvetica Neue", sans-serif; … … 130 130 } 131 131 132 . ews-popover .popover-queue-heading .queue-status-link,133 . ews-popover .popover-queue-heading .queue-charts-link {132 .bubble-server-popover .popover-queue-heading .queue-status-link, 133 .bubble-server-popover .popover-queue-heading .queue-charts-link { 134 134 color: rgb(145, 135, 95); 135 135 padding-left: 7px; 136 136 } 137 137 138 . ews-popover .latest-status-with-link,139 . ews-popover .latest-status-no-link {138 .bubble-server-popover .latest-status-with-link, 139 .bubble-server-popover .latest-status-no-link { 140 140 color: black; 141 141 padding-left: 7px; 142 142 } 143 143 144 . ews-popover .failure-count,145 . ews-popover .time-since-message,146 . ews-popover .bugzilla-link,147 . ews-popover .bot-status-description {144 .bubble-server-popover .failure-count, 145 .bubble-server-popover .time-since-message, 146 .bubble-server-popover .bugzilla-link, 147 .bubble-server-popover .bot-status-description { 148 148 padding-left: 7px; 149 149 } -
trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/index.html
r173211 r174366 38 38 <script src="Scripts/Buildbot.js"></script> 39 39 <script src="Scripts/Bugzilla.js"></script> 40 <script src="Scripts/ EWS.js"></script>40 <script src="Scripts/BubbleQueueServer.js"></script> 41 41 <script src="Scripts/WebKitBuildbot.js"></script> 42 42 <script src="Scripts/BuildbotQueue.js"></script> 43 <script src="Scripts/ EWSQueue.js"></script>43 <script src="Scripts/BubbleQueue.js"></script> 44 44 <script src="Scripts/BuildbotIteration.js"></script> 45 45 <script src="Scripts/BuildbotTestResults.js"></script> … … 52 52 <script src="Scripts/BuildbotTesterQueueView.js"></script> 53 53 <script src="Scripts/BuildbotPerformanceQueueView.js"></script> 54 <script src="Scripts/ EWSQueueView.js"></script>54 <script src="Scripts/BubbleQueueView.js"></script> 55 55 <script src="Scripts/StatusLineView.js"></script> 56 56 <script src="Scripts/Settings.js"></script> -
trunk/Tools/ChangeLog
r174364 r174366 1 2014-10-06 Alexey Proskuryakov <ap@apple.com> 2 3 build.webkit.org/dashboard: Add commit queue 4 https://bugs.webkit.org/show_bug.cgi?id=137462 5 6 Reviewed by Tim Horton. 7 8 Generalizes EWS into "bubble queue", which also includes commit queue and style queue. 9 Style queue is still invisible, as it doesn't have an associated platform, and also 10 we never have problems with it anyway, so it's not worth watching. 11 12 The UI now allows for adding more bots to the Other column (such as leaks bot). 13 To make that actually happen, we'll need to refactor QueueView, allowing for multiple 14 sources of data in a cell. 15 16 * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueue.js: Copied from Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWSQueue.js. 17 (BubbleQueue): 18 (BubbleQueue.prototype.get statusPageURL): 19 (BubbleQueue.prototype.update): 20 (BubbleQueue.prototype.loadDetailedStatus): 21 * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueServer.js: Copied from Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWS.js. 22 (BubbleQueueServer): 23 (BubbleQueueServer.prototype.jsonQueueLengthURL): 24 (BubbleQueueServer.prototype.jsonQueueStatusURL): 25 (BubbleQueueServer.prototype.queueStatusURL): 26 * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BubbleQueueView.js: Copied from Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWSQueueView.js. 27 (BubbleQueueView): 28 (BubbleQueueView.prototype.update.appendQueue): 29 (BubbleQueueView.prototype.update): 30 (BubbleQueueView.prototype._addQueueHeadingToPopover): 31 (BubbleQueueView.prototype._popoverContentForBubbleQueue): 32 (BubbleQueueView.prototype._presentPopoverForBubbleQueue): 33 * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWS.js: Removed. 34 * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWSQueue.js: Removed. 35 * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWSQueueView.js: Removed. 36 * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Initialization.js: 37 * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js: 38 * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/QueueView.css: 39 (.bubble-server-popover .popover-queue-heading .queue-charts-link): 40 (.bubble-server-popover .latest-status-no-link): 41 (.bubble-server-popover .bot-status-description): 42 * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/index.html: 43 44 * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/MetricsMain.js: 45 (buildAggregateTable): 46 (buildQueuesTable): 47 Removed dysfunctional support for EWS for now. It will be different. 48 1 49 2014-10-06 Alexey Proskuryakov <ap@apple.com> 2 50
Note: See TracChangeset
for help on using the changeset viewer.