Changeset 12522
- Timestamp:
- 06/26/15 11:35:20 (9 years ago)
- Location:
- branches/HiveStatistics/sources
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HiveStatistics/sources
- Property svn:mergeinfo changed
/trunk/sources merged: 12517-12521
- Property svn:mergeinfo changed
-
branches/HiveStatistics/sources/HeuristicLab.ExtLibs
- Property svn:mergeinfo changed
/trunk/sources/HeuristicLab.ExtLibs merged: 12518
- Property svn:mergeinfo changed
-
branches/HiveStatistics/sources/HeuristicLab.ExtLibs/HeuristicLab.AvalonEdit/5.0.1/HeuristicLab.AvalonEdit-5.0.1/Plugin.cs.frame
r12012 r12522 27 27 [PluginFile("ICSharpCode.AvalonEdit.dll", PluginFileType.Assembly)] 28 28 [PluginFile("ICSharpCode.AvalonEdit License-5.0.1.txt", PluginFileType.License)] 29 [PluginDependency("HeuristicLab.NRefactory", "5.5")] 29 30 public class HeuristicLabAvalonEditPlugin : PluginBase { 30 31 } -
branches/HiveStatistics/sources/HeuristicLab.Services.WebApp.Status/3.3/WebApp/history/history.cshtml
r12516 r12522 12 12 <div id="history-header"> 13 13 <form class="form-inline"> 14 <div class="form-group" >14 <div class="form-group" style="margin-left: 5px; margin-right: 5px;"> 15 15 <label for="fromDate">From: </label> 16 16 <div class="input-group"> … … 21 21 </div> 22 22 </div> 23 <div class="form-group" >24 <label for="fromDate"> To: </label>23 <div class="form-group" style="margin-left: 5px; margin-right: 5px;"> 24 <label for="fromDate">To: </label> 25 25 <div class="input-group"> 26 26 <input id="fromDate" type="text" class="form-control" datepicker-popup="dd.MM.yyyy" ng-model="toDate" is-open="toIsOpen" datepicker-options="dateOptions" ng-required="true" close-text="Close" /> … … 29 29 </span> 30 30 </div> 31 </div> 32 <div class="form-group" style="margin-left: 5px; margin-right: 5px;"> 33 <button type="button" class="btn btn-default" ng-click="updateCharts()"> 34 Apply 35 </button> 31 36 </div> 32 37 </form> -
branches/HiveStatistics/sources/HeuristicLab.Services.WebApp.Status/3.3/WebApp/history/historyCtrl.js
r12435 r12522 14 14 yaxis: { 15 15 min: 0, 16 max: 100, 17 zoomRange: false, 18 panRange: false 16 max: 100 19 17 }, 20 18 xaxis: { 21 19 mode: "time", 22 20 twelveHourClock: false 23 },24 zoom: {25 interactive: true26 },27 pan: {28 interactive: true29 21 } 30 22 }; … … 42 34 } 43 35 }, 44 yaxis: {45 zoomRange: false,46 panRange: false47 },48 36 xaxis: { 49 37 mode: "time", 50 38 twelveHourClock: false 51 },52 zoom: {53 interactive: true54 },55 pan: {56 interactive: true57 39 } 58 40 }; … … 88 70 $scope.memorySeries = [[]]; 89 71 90 varupdateCharts = function () {72 $scope.updateCharts = function () { 91 73 dataService.getStatusHistory({ start: ConvertFromDate($scope.fromDate), end: ConvertToDate($scope.toDate) }, function (status) { 92 74 var noOfStatus = status.length; … … 100 82 coreSeries[0].push([curStatus.Timestamp, curStatus.CoreStatus.ActiveCores]); 101 83 coreSeries[1].push([curStatus.Timestamp, curStatus.CoreStatus.CalculatingCores]); 102 memorySeries[0].push([curStatus.Timestamp, curStatus.MemoryStatus.ActiveMemory]);103 memorySeries[1].push([curStatus.Timestamp, curStatus.MemoryStatus.UsedMemory]);84 memorySeries[0].push([curStatus.Timestamp, Math.round(curStatus.MemoryStatus.ActiveMemory / 1024)]); 85 memorySeries[1].push([curStatus.Timestamp, Math.round(curStatus.MemoryStatus.UsedMemory / 1024)]); 104 86 } 105 87 $scope.cpuSeries = [{ data: cpuSeries, label: " CPU Utilization", color: "#f7921d" }]; … … 115 97 }); 116 98 }; 117 118 $scope.$watch('fromDate', function (newValue, oldValue) { 119 updateCharts(); 120 }); 121 $scope.$watch('toDate', function (newValue, oldValue) { 122 updateCharts(); 123 }); 99 $scope.updateCharts(); 124 100 }] 125 101 ); -
branches/HiveStatistics/sources/HeuristicLab.Services.WebApp.Status/3.3/WebApp/status/status.cshtml
r12435 r12522 80 80 <tr data-toggle="tooltip" data-placement="bottom" title="All online slaves"> 81 81 <td class="text-left">Total:</td> 82 <td class="text-right">{{status.MemoryStatus.TotalMemory | number}} GB</td>82 <td class="text-right">{{status.MemoryStatus.TotalMemory | toGB}}</td> 83 83 </tr> 84 84 <tr data-toggle="tooltip" data-placement="bottom" title="All calculating and idle slaves that are allowed to calculate"> 85 85 <td class="text-left">Active:</td> 86 <td class="text-right">{{status.MemoryStatus.ActiveMemory | number}} GB</td>86 <td class="text-right">{{status.MemoryStatus.ActiveMemory | toGB}}</td> 87 87 </tr> 88 88 <tr data-toggle="tooltip" data-placement="bottom" title="All calculating slaves that are allowed to calculate"> 89 89 <td class="text-left">Calculating:</td> 90 <td class="text-right">{{status.MemoryStatus.UsedMemory | number}} GB</td>90 <td class="text-right">{{status.MemoryStatus.UsedMemory | toGB}}</td> 91 91 </tr> 92 92 </table> … … 234 234 <td>{{slave.CpuUtilization | number: 2}} %</td> 235 235 <td>{{slave.Cores | number}}</td> 236 <td>{{slave.Memory | number}} GB</td>236 <td>{{slave.Memory | toGB}}</td> 237 237 </tr> 238 238 <tr ng-hide="activeCalculatingSlaves.length"> … … 292 292 <td>{{slave.CpuUtilization | number: 2}} %</td> 293 293 <td>{{slave.Cores | number}}</td> 294 <td>{{slave.Memory | number}} GB</td>294 <td>{{slave.Memory | toGB}}</td> 295 295 </tr> 296 296 <tr ng-hide="activeIdleSlaves.length"> … … 349 349 <td>{{slave.CpuUtilization | number: 2}} %</td> 350 350 <td>{{slave.Cores | number}}</td> 351 <td>{{slave.Memory | number}} GB</td>351 <td>{{slave.Memory | toGB}}</td> 352 352 </tr> 353 353 <tr ng-hide="inactiveSlaves.length"> -
branches/HiveStatistics/sources/HeuristicLab.Services.WebApp.Status/3.3/WebApp/status/statusCtrl.js
r12467 r12522 148 148 coreSeries[0].push([$scope.status.Timestamp, status.CoreStatus.TotalCores]); 149 149 coreSeries[1].push([$scope.status.Timestamp, usedCores]); 150 memorySeries[0].push([$scope.status.Timestamp, status.MemoryStatus.TotalMemory]);151 memorySeries[1].push([$scope.status.Timestamp, usedMemory]);150 memorySeries[0].push([$scope.status.Timestamp, Math.round(status.MemoryStatus.TotalMemory / 1024)]); 151 memorySeries[1].push([$scope.status.Timestamp, Math.round(usedMemory / 1024)]); 152 152 $scope.cpu.series = [{ data: cpuSeries, label: " CPU Utilization", color: "#f7921d" }]; 153 153 $scope.core.series = [ … … 170 170 var noOfStatus = status.length; 171 171 var cpuSeries = []; 172 var coreSeries = [[], []];173 var memorySeries = [[], []];172 var coreSeries = [[], []]; 173 var memorySeries = [[], []]; 174 174 for (var i = 0; i < noOfStatus; ++i) { 175 175 var curStatus = status[i]; … … 178 178 coreSeries[0].push([curStatus.Timestamp, curStatus.CoreStatus.ActiveCores]); 179 179 coreSeries[1].push([curStatus.Timestamp, curStatus.CoreStatus.CalculatingCores]); 180 memorySeries[0].push([curStatus.Timestamp, curStatus.MemoryStatus.ActiveMemory]);181 memorySeries[1].push([curStatus.Timestamp, curStatus.MemoryStatus.UsedMemory]);180 memorySeries[0].push([curStatus.Timestamp, Math.round(curStatus.MemoryStatus.ActiveMemory / 1024)]); 181 memorySeries[1].push([curStatus.Timestamp, Math.round(curStatus.MemoryStatus.UsedMemory / 1024)]); 182 182 } 183 183 $scope.cpu.series = [{ data: cpuSeries, label: " CPU Utilization", color: "#f7921d" }]; … … 202 202 }] 203 203 ); 204 205 module.filter('toGB', function () { 206 return function (text, length, end) { 207 if (text == null || text == '') text = '0'; 208 text = Math.round(parseInt(text) / 1024); 209 return text + ' GB'; 210 }; 211 }); 212 204 213 })(); -
branches/HiveStatistics/sources/HeuristicLab.Services.WebApp/3.3/WebApp/shared/menu/menuCtrl.js
r12435 r12522 7 7 $scope.menuEntries = app.getMenu().getMenuEntries(); 8 8 $scope.isActive = function (viewLocation) { 9 var loc = viewLocation.toUpperCase().substr(1); 10 var actualLocation = $location.path().toUpperCase(); 11 var splitLoc = loc.split("/"); 12 if (splitLoc.length <= 2) { 13 var actualLocationSplit = actualLocation.split("/"); 14 if (actualLocationSplit.length > 1) { 15 if (splitLoc[1] == actualLocationSplit[1]) { 16 return true; 9 var linkLocation = viewLocation.toUpperCase().substr(1); 10 var currentLocation = $location.path().toUpperCase(); 11 if (linkLocation == currentLocation) { 12 return true; 13 } 14 var linkLocationParts = linkLocation.split("/"); 15 var currentLocationParts = currentLocation.split("/"); 16 var linkLocationPartsLength = linkLocationParts.length; 17 if (linkLocationPartsLength < currentLocationParts.length) { 18 for (var i = 0; i < linkLocationPartsLength; ++i) { 19 if (linkLocationParts[i] !== currentLocationParts[i]) { 20 return false; 17 21 } 18 22 } 23 return true; 19 24 } 20 return $location.path().toUpperCase() == loc;25 return false; 21 26 }; 22 27 23 $scope.logout = function () {24 authService.logout({}, function () {28 $scope.logout = function () { 29 authService.logout({}, function () { 25 30 $window.location.hash = ""; 26 31 $window.location.reload(); … … 28 33 }; 29 34 30 $scope.hideMenu = function () {35 $scope.hideMenu = function () { 31 36 $(".navbar-collapse").collapse('hide'); 32 37 }; -
branches/HiveStatistics/sources/HeuristicLab.Tests
- Property svn:mergeinfo changed
/trunk/sources/HeuristicLab.Tests merged: 12518
- Property svn:mergeinfo changed
-
branches/HiveStatistics/sources/HeuristicLab.Tests/HeuristicLab-3.3/PluginDependenciesTest.cs
r12012 r12522 60 60 foreach (Assembly pluginAssembly in loadedPlugins.Keys) { 61 61 Type plugin = loadedPlugins[pluginAssembly]; 62 var pluginFiles = new HashSet<string>(Attribute.GetCustomAttributes(plugin, false) 63 .OfType<PluginFileAttribute>().Where(pf => pf.FileType == PluginFileType.Assembly).Select(pf => pf.FileName)); 64 var pluginAssemblies = PluginLoader.Assemblies.Where(a => pluginFiles.Contains(Path.GetFileName(a.Location))).ToList(); 65 var referencedAssemblies = pluginAssemblies.SelectMany(a => a.GetReferencedAssemblies()).ToList(); 66 62 67 Dictionary<string, PluginDependencyAttribute> pluginDependencies = Attribute.GetCustomAttributes(plugin, false).OfType<PluginDependencyAttribute>().ToDictionary(a => a.Dependency); 63 68 64 foreach (AssemblyName referencedAssemblyName in pluginAssembly.GetReferencedAssemblies()) {69 foreach (AssemblyName referencedAssemblyName in referencedAssemblies) { 65 70 if (IsPluginAssemblyName(referencedAssemblyName)) { 66 71 if (!pluginDependencies.ContainsKey(pluginNames[referencedAssemblyName.FullName])) … … 87 92 Type plugin = loadedPlugins[pluginAssembly]; 88 93 Dictionary<PluginDependencyAttribute, string> pluginDependencies = Attribute.GetCustomAttributes(plugin, false).OfType<PluginDependencyAttribute>().ToDictionary(a => a, a => a.Dependency); 94 var pluginFiles = new HashSet<string>(Attribute.GetCustomAttributes(plugin, false) 95 .OfType<PluginFileAttribute>().Where(pf => pf.FileType == PluginFileType.Assembly).Select(pf => pf.FileName)); 96 var pluginAssemblies = PluginLoader.Assemblies.Where(a => pluginFiles.Contains(Path.GetFileName(a.Location))).ToList(); 97 var referencedAssemblies = pluginAssemblies.SelectMany(a => a.GetReferencedAssemblies()).ToList(); 89 98 90 99 foreach (PluginDependencyAttribute attribute in pluginDependencies.Keys) { … … 93 102 if (pluginDependencyName == "HeuristicLab.MathJax") continue; //is never referenced as this plugin contains HTML files 94 103 if (pluginDependencyName == "HeuristicLab.MatlabConnector") continue; //the matlab connector is loaded dynamically and hence not referenced by the dll 95 var referencedPluginAssemblies = pluginAssembly.GetReferencedAssemblies().Where(IsPluginAssemblyName);104 var referencedPluginAssemblies = referencedAssemblies.Where(IsPluginAssemblyName); 96 105 if (referencedPluginAssemblies.Any(a => pluginNames[a.FullName] == pluginDependencyName)) continue; 97 106 98 var referencedNonPluginAssemblies = pluginAssembly.GetReferencedAssemblies().Where(a => !IsPluginAssemblyName(a));107 var referencedNonPluginAssemblies = referencedAssemblies.Where(a => !IsPluginAssemblyName(a)); 99 108 bool found = (from referencedNonPluginAssembly in referencedNonPluginAssemblies 100 109 select referencedNonPluginAssembly.Name into assemblyName
Note: See TracChangeset
for help on using the changeset viewer.