Changeset 12558 for branches/HiveStatistics/sources
- Timestamp:
- 07/01/15 11:24:12 (9 years ago)
- Location:
- branches/HiveStatistics/sources
- Files:
-
- 12 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
branches/HiveStatistics/sources
- Property svn:mergeinfo changed
/trunk/sources merged: 12552-12553,12556-12557
- Property svn:mergeinfo changed
-
branches/HiveStatistics/sources/HeuristicLab.Services.WebApp.Status/3.3/HeuristicLab.Services.WebApp.Status-3.3.csproj
r12551 r12558 76 76 <SpecificVersion>False</SpecificVersion> 77 77 <HintPath>..\..\packages\Newtonsoft.Json.7.0.1\lib\net45\Newtonsoft.Json.dll</HintPath> 78 <Private>False</Private> 78 79 </Reference> 79 80 <Reference Include="System" /> -
branches/HiveStatistics/sources/HeuristicLab.Services.WebApp.Status/3.3/WebApi/DataController.cs
r12551 r12558 216 216 double mean = 0; 217 217 double M2 = 0; 218 219 218 foreach (double x in source) { 220 219 n = n + 1; -
branches/HiveStatistics/sources/HeuristicLab.Services.WebApp.Status/3.3/WebApp/status/status.cshtml
r12551 r12558 216 216 </div> 217 217 <div class="panel-body"> 218 <table class="table table-hover" >218 <table class="table table-hover" ts-wrapper> 219 219 <thead> 220 <tr>221 <th>Username</th>222 <th>Calculating Tasks</th>223 <th>Waiting Tasks</th>224 </tr>220 <tr> 221 <th ts-criteria="User.Name">Username</th> 222 <th ts-criteria="CalculatingTasks|parseInt">Calculating Tasks</th> 223 <th ts-criteria="WaitingTasks|parseInt">Waiting Tasks</th> 224 </tr> 225 225 </thead> 226 <tr ng-repeat="task in status.TasksStatus"> 227 <td>{{task.User.Name}}</td> 228 <td>{{task.CalculatingTasks | number}}</td> 229 <td>{{task.WaitingTasks | number}}</td> 230 </tr> 231 <tr ng-hide="status.TasksStatus.length"> 232 <td colspan="3" class="text-center"> 233 There are no waiting or calculating tasks available! 234 </td> 235 </tr> 226 <tbody> 227 <tr ng-repeat="task in status.TasksStatus" ts-repeat> 228 <td>{{task.User.Name}}</td> 229 <td>{{task.CalculatingTasks | number}}</td> 230 <td>{{task.WaitingTasks | number}}</td> 231 </tr> 232 <tr ng-hide="status.TasksStatus.length"> 233 <td colspan="3" class="text-center"> 234 There are no waiting or calculating tasks available! 235 </td> 236 </tr> 237 </tbody> 236 238 </table> 237 239 </div> … … 254 256 class="panel-collapse collapse in"> 255 257 <div class="panel-body"> 256 <table class="table table-hover" >258 <table class="table table-hover" ts-wrapper> 257 259 <thead> 258 <tr> 259 <th ng-click="activeCalculatingSlavesOrderColumn='Slave.Name'; 260 activeCalculatingSlavesReverseSort=!activeCalculatingSlavesReverseSort"> 261 Slave 262 </th> 263 <th ng-click="activeCalculatingSlavesOrderColumn='CpuUtilization'; 264 activeCalculatingSlavesReverseSort=!activeCalculatingSlavesReverseSort"> 265 CPU Utilization 266 </th> 267 <th ng-click="activeCalculatingSlavesOrderColumn='Cores'; 268 activeCalculatingSlavesReverseSort=!activeCalculatingSlavesReverseSort"> 269 Cores 270 </th> 271 <th ng-click="activeCalculatingSlavesOrderColumn='Memory'; 272 activeCalculatingSlavesReverseSort=!activeCalculatingSlavesReverseSort"> 273 Memory 274 </th> 275 </tr> 260 <tr> 261 <th ts-criteria="Slave.Name">Slave</th> 262 <th ts-criteria="CpuUtilization|parseFloat">CPU Utilization</th> 263 <th ts-criteria="Cores|parseInt">Cores</th> 264 <th ts-criteria="Memory|parseInt">Memory</th> 265 </tr> 276 266 </thead> 277 <tr ng-repeat="slave in activeCalculatingSlaves = (status.SlavesStatus 267 <tbody> 268 <tr ng-repeat="slave in activeCalculatingSlaves = (status.SlavesStatus 278 269 | filter: { 279 270 IsAllowedToCalculate: true, 280 271 State: 'Calculating' 281 } 282 | orderBy: activeCalculatingSlavesOrderColumn:activeCalculatingSlavesReverseSort)">283 <td>{{slave.Slave.Name}}</td>284 <td>{{slave.CpuUtilization | number: 2}} %</td>285 <td>{{slave.Cores - slave.FreeCores | number}} / {{slave.Cores | number}}</td>286 < td>{{slave.Memory - slave.FreeMemory | kbToGB}} / {{slave.Memory | kbToGB}} GB</td>287 </tr>288 <tr ng-hide="activeCalculatingSlaves.length">289 <td colspan="4" class="text-center">290 There are no active calculating slaves available!291 </t d>292 </t r>272 })" ts-repeat> 273 <td>{{slave.Slave.Name}}</td> 274 <td>{{slave.CpuUtilization | number: 2}} %</td> 275 <td>{{slave.Cores - slave.FreeCores | number}} / {{slave.Cores | number}}</td> 276 <td>{{slave.Memory - slave.FreeMemory | kbToGB}} / {{slave.Memory | kbToGB}} GB</td> 277 </tr> 278 <tr ng-hide="activeCalculatingSlaves.length"> 279 <td colspan="4" class="text-center"> 280 There are no active calculating slaves available! 281 </td> 282 </tr> 283 </tbody> 293 284 </table> 294 285 </div> … … 312 303 class="panel-collapse collapse"> 313 304 <div class="panel-body"> 314 <table class="table table-hover" >305 <table class="table table-hover" ts-wrapper> 315 306 <thead> 316 307 <tr> 317 <th ng-click="activeIdleSlavesOrderColumn='Slave.Name'; 318 activeIdleSlavesReverseSort=!activeIdleSlavesReverseSort"> 319 Slave 320 </th> 321 <th ng-click="activeIdleSlavesOrderColumn='CpuUtilization'; 322 activeIdleSlavesReverseSort=!activeIdleSlavesReverseSort"> 323 CPU Utilization 324 </th> 325 <th ng-click="activeIdleSlavesOrderColumn='Cores'; 326 activeIdleSlavesReverseSort=!activeIdleSlavesReverseSort"> 327 Cores 328 </th> 329 <th ng-click="activeIdleSlavesOrderColumn='Memory'; 330 activeIdleSlavesReverseSort=!activeIdleSlavesReverseSort"> 331 Memory 332 </th> 308 <th ts-criteria="Slave.Name">Slave</th> 309 <th ts-criteria="CpuUtilization|parseFloat">CPU Utilization</th> 310 <th ts-criteria="Cores|parseInt">Cores</th> 311 <th ts-criteria="Memory|parseInt">Memory</th> 333 312 </tr> 334 313 </thead> 335 <tr ng-repeat="slave in activeIdleSlaves = (status.SlavesStatus 314 <tbody> 315 <tr ng-repeat="slave in activeIdleSlaves = (status.SlavesStatus 336 316 | filter: { 337 317 IsAllowedToCalculate: true, 338 318 State: 'Idle' 339 } 340 | orderBy: activeIdleSlavesOrderColumn:activeIdleSlavesReverseSort)">341 <td>{{slave.Slave.Name}}</td>342 <td>{{slave.CpuUtilization | number: 2}} %</td>343 <td>{{slave.Cores - slave.FreeCores | number}} / {{slave.Cores | number}}</td>344 < td>{{slave.Memory - slave.FreeMemory | kbToGB}} / {{slave.Memory | kbToGB}} GB</td>345 </tr>346 <tr ng-hide="activeIdleSlaves.length">347 <td colspan="4" class="text-center">348 There are no active idle slaves available!349 < td>350 </t r>319 })" ts-repeat> 320 <td>{{slave.Slave.Name}}</td> 321 <td>{{slave.CpuUtilization | number: 2}} %</td> 322 <td>{{slave.Cores - slave.FreeCores | number}} / {{slave.Cores | number}}</td> 323 <td>{{slave.Memory - slave.FreeMemory | kbToGB}} / {{slave.Memory | kbToGB}} GB</td> 324 </tr> 325 <tr ng-hide="activeIdleSlaves.length"> 326 <td colspan="4" class="text-center"> 327 There are no active idle slaves available! 328 <td> 329 </tr> 330 </tbody> 351 331 </table> 352 332 </div> … … 370 350 class="panel-collapse collapse"> 371 351 <div class="panel-body"> 372 <table class="table table-hover" >352 <table class="table table-hover" ts-wrapper> 373 353 <thead> 374 <tr> 375 <th ng-click="inactiveSlavesOrderColumn='Slave.Name'; 376 inactiveSlavesReverseSort=!inactiveSlavesReverseSort"> 377 Slave 378 </th> 379 <th ng-click="inactiveSlavesOrderColumn='CpuUtilization'; 380 inactiveSlavesReverseSort=!inactiveSlavesReverseSort"> 381 CPU Utilization 382 </th> 383 <th ng-click="inactiveSlavesOrderColumn='Cores'; 384 inactiveSlavesReverseSort=!inactiveSlavesReverseSort"> 385 Cores 386 </th> 387 <th ng-click="inactiveSlavesOrderColumn='Memory'; 388 inactiveSlavesReverseSort=!inactiveSlavesReverseSort"> 389 Memory 390 </th> 391 </tr> 354 <tr> 355 <th ts-criteria="Slave.Name">Slave</th> 356 <th ts-criteria="CpuUtilization|parseFloat">CPU Utilization</th> 357 <th ts-criteria="Cores|parseInt">Cores</th> 358 <th ts-criteria="Memory|parseInt">Memory</th> 359 </tr> 392 360 </thead> 393 <tr ng-repeat="slave in inactiveSlaves = (status.SlavesStatus 361 <tbody> 362 <tr ng-repeat="slave in inactiveSlaves = (status.SlavesStatus 394 363 | filter: { 395 364 IsAllowedToCalculate: false 396 } 397 | orderBy: inactiveSlavesOrderColumn:inactiveSlavesReverseSort)">398 <td>{{slave.Slave.Name}}</td>399 <td>{{slave.CpuUtilization | number: 2}} %</td>400 <td>{{slave.Cores - slave.FreeCores | number}} / {{slave.Cores | number}}</td>401 < td>{{slave.Memory - slave.FreeMemory | kbToGB}} / {{slave.Memory | kbToGB}} GB</td>402 </tr>403 <tr ng-hide="inactiveSlaves.length">404 < td colspan="4" class="text-center">No inactive slaves available!</td>405 </t r>365 })" ts-repeat> 366 <td>{{slave.Slave.Name}}</td> 367 <td>{{slave.CpuUtilization | number: 2}} %</td> 368 <td>{{slave.Cores - slave.FreeCores | number}} / {{slave.Cores | number}}</td> 369 <td>{{slave.Memory - slave.FreeMemory | kbToGB}} / {{slave.Memory | kbToGB}} GB</td> 370 </tr> 371 <tr ng-hide="inactiveSlaves.length"> 372 <td colspan="4" class="text-center">No inactive slaves available!</td> 373 </tr> 374 </tbody> 406 375 </table> 407 376 </div> -
branches/HiveStatistics/sources/HeuristicLab.Services.WebApp.Status/3.3/WebApp/status/statusCtrl.js
r12551 r12558 84 84 CalculatingTasks: 0 85 85 }; 86 87 $scope.activeIdleSlaveFilter = function (slave) {88 return (slave.IsAllowedToCalculate == true) && (slave.State == 'Idle');89 };90 91 $scope.activeCalculatingSlavesReverseSort = false;92 $scope.activeCalculatingSlavesOrderColumn = 'slave.Slave.Name';93 94 $scope.activeIdleSlavesReverseSort = false;95 $scope.activeIdleSlavesOrderColumn = 'slave.Slave.Name';96 97 $scope.inactiveSlavesReverseSort = false;98 $scope.inactiveSlavesOrderColumn = 'slave.Slave.Name';99 100 86 101 87 var updateStatus = function () { -
branches/HiveStatistics/sources/HeuristicLab.Services.WebApp.Status/3.3/status.js
r12477 r12558 2 2 (function () { 3 3 var plugin = appStatusPlugin; 4 plugin.dependencies = ['ngResource', 'ui.knob', 'ui.bootstrap' ];4 plugin.dependencies = ['ngResource', 'ui.knob', 'ui.bootstrap', 'tableSort']; 5 5 plugin.files = [ 6 6 'WebApp/status.css', … … 15 15 ]; 16 16 var menu = app.getMenu(); 17 var section = menu.getSection('Men ü', 1);17 var section = menu.getSection('Menu', 1); 18 18 section.addEntry({ 19 19 name: 'Status', -
branches/HiveStatistics/sources/HeuristicLab.Services.WebApp/3.3/Configs/BundleConfig.cs
r12551 r12558 41 41 "~/WebApp/libs/bootstrap/css/bootstrap-theme.min.css", 42 42 "~/WebApp/libs/font-aweseome/font-aweseome.min.css", 43 "~/WebApp/libs/angularjs/loading-bar/loading-bar.css" 43 "~/WebApp/libs/angularjs/loading-bar/loading-bar.css", 44 "~/WebApp/libs/angularjs/angular-tablesort/tablesort.css" 44 45 )); 45 46 … … 70 71 "~/WebApp/libs/angularjs/angular-ui-router.min.js", 71 72 "~/WebApp/libs/angularjs/angular-knob/angular-knob.js", 73 "~/WebApp/libs/angularjs/angular-tablesort/angular-tablesort.js", 72 74 "~/WebApp/libs/angularjs/angular-ui/ui-bootstrap-tpls-0.13.0.min.js", 73 75 "~/WebApp/libs/angularjs/loading-bar/loading-bar.js", -
branches/HiveStatistics/sources/HeuristicLab.Services.WebApp/3.3/Controllers/AppController.cs
r12435 r12558 47 47 } 48 48 49 public ActionResult RedirectUrl(string url) { 50 return RedirectPermanent(url); 51 } 49 52 } 50 53 } -
branches/HiveStatistics/sources/HeuristicLab.Services.WebApp/3.3/HeuristicLab.Services.WebApp-3.3.csproj
r12551 r12558 143 143 <Content Include="WebApp\app.css" /> 144 144 <Content Include="Global.asax" /> 145 <Content Include="WebApp\libs\angularjs\angular-tablesort\angular-tablesort.js" /> 146 <Content Include="WebApp\libs\angularjs\angular-tablesort\tablesort.css" /> 145 147 <Content Include="WebApp\libs\angularjs\fittext\ng-FitText.js" /> 146 148 <Content Include="WebApp\main.js" /> -
branches/HiveStatistics/sources/HeuristicLab.Services.WebApp/3.3/WebApp/plugins/login/loginCtrl.js
r12428 r12558 9 9 $window.location.reload(); 10 10 } else { 11 $scope.result = " error logging in";11 $scope.result = "Invalid username or password. Please try again."; 12 12 } 13 13 }); -
branches/HiveStatistics/sources/HeuristicLab.Services.WebApp/3.3/WebApp/plugins/plugins/plugins.cshtml
r12551 r12558 16 16 </div> 17 17 <div class="panel-body"> 18 <table class="table table-hover table-condensed" >18 <table class="table table-hover table-condensed" ts-wrapper> 19 19 <thead> 20 20 <tr> 21 21 <th>#</th> 22 <th >Name</th>23 <th >Assembly</th>24 <th >Last reload</th>22 <th ts-criteria="Name">Name</th> 23 <th ts-criteria="AssemblyName">Assembly</th> 24 <th ts-criteria="LastReload">Last reload</th> 25 25 <th>Status</th> 26 26 <th></th> 27 27 </tr> 28 28 </thead> 29 <tr ng-repeat="plugin in plugins"> 30 <td>{{$index + 1}}</td> 31 <td>{{plugin.Name}}</td> 32 <td>{{plugin.AssemblyName}}</td> 33 <td>{{plugin.LastReload}}</td> 34 <td> 35 <span ng-hide="plugin.Exception" class="glyphicon glyphicon glyphicon-ok" style="color: green"></span> 36 <span ng-show="plugin.Exception" class="glyphicon glyphicon glyphicon-remove" style="color: darkred" 37 ng-click="open(plugin.Name, plugin.Exception)"></span> 38 </td> 39 <td> 40 <a ng-href="" class="cursor-pointer" data-ng-click="reloadPlugin(plugin.Name)">Reload</a> 41 </td> 42 </tr> 29 <tbody> 30 <tr ng-repeat="plugin in plugins" ts-repeat> 31 <td>{{$index + 1}}</td> 32 <td>{{plugin.Name}}</td> 33 <td>{{plugin.AssemblyName}}</td> 34 <td>{{plugin.LastReload}}</td> 35 <td> 36 <span ng-hide="plugin.Exception" class="glyphicon glyphicon glyphicon-ok" style="color: green"></span> 37 <span ng-show="plugin.Exception" class="glyphicon glyphicon glyphicon-remove" style="color: darkred" 38 ng-click="open(plugin.Name, plugin.Exception)"></span> 39 </td> 40 <td> 41 <a ng-href="" class="cursor-pointer" data-ng-click="reloadPlugin(plugin.Name)">Reload</a> 42 </td> 43 </tr> 44 </tbody> 43 45 </table> 44 46 </div> -
branches/HiveStatistics/sources/HeuristicLab.Services.WebApp/3.3/WebApp/plugins/plugins/plugins.js
r12525 r12558 2 2 (function () { 3 3 var plugin = appPluginsPlugin; 4 plugin.dependencies = ['ngResource', 'ui.bootstrap' ];4 plugin.dependencies = ['ngResource', 'ui.bootstrap', 'tableSort']; 5 5 plugin.files = [ 6 6 'pluginsService.js',
Note: See TracChangeset
for help on using the changeset viewer.