- Timestamp:
- 06/26/11 23:18:58 (13 years ago)
- Location:
- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.Web/Hive-3.4
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.Web/Hive-3.4/Status.aspx
r6469 r6478 125 125 PaletteCustomColors="79, 129, 189"> 126 126 <Series> 127 <asp:Series ChartType="Area" Name="Cores" XValueType="DateTime" YValueType="Double"> 127 <asp:Series ChartType="Area" Name="Speedup" XValueType="DateTime" YValueType="Double"> 128 </asp:Series> 129 <asp:Series BorderWidth="2" ChartArea="ChartArea1" 130 ChartType="Line" Color="185, 205, 150" Name="Cores"> 128 131 </asp:Series> 129 132 </Series> … … 147 150 <asp:Chart ID="speedupChartHours" runat="server" Palette="None" Width="1900px" PaletteCustomColors="79, 129, 189"> 148 151 <Series> 149 <asp:Series ChartType="Area" Name="Cores" XValueType="DateTime" YValueType="Double"> 152 <asp:Series ChartType="Area" Name="Speedup" XValueType="DateTime" 153 YValueType="Double"> 154 </asp:Series> 155 <asp:Series BorderWidth="2" ChartArea="ChartArea1" 156 ChartType="Line" Color="185, 205, 150" Name="Cores"> 150 157 </asp:Series> 151 158 </Series> -
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.Web/Hive-3.4/Status.aspx.cs
r6469 r6478 14 14 protected void Page_Load(object sender, EventArgs e) { 15 15 var dao = ServiceLocator.Instance.HiveDao; 16 var onlineSlaves = dao.GetSlaves(x => x.SlaveState == SlaveState.Calculating || x.SlaveState == SlaveState.Idle); 16 var resourceName = Request.QueryString["resource"]; 17 IEnumerable<Guid> resourceIds; 18 if (!string.IsNullOrEmpty(resourceName)) { 19 var resId = dao.GetResources(x => x.Name == resourceName).Single().Id; 20 resourceIds = dao.GetChildResources(resId).Select(x => x.Id).Union(new List<Guid> { resId }); 21 speedupChartHours.Visible = false; 22 speedupChartMinutes.Visible = false; 23 } else { 24 resourceIds = dao.GetResources(x => true).Select(y => y.Id); 25 speedupChartHours.Visible = true; 26 speedupChartMinutes.Visible = true; 27 } 28 29 var onlineSlaves = dao.GetSlaves(x => (x.SlaveState == SlaveState.Calculating || x.SlaveState == SlaveState.Idle) && resourceIds.Contains(x.ResourceId)); 17 30 18 31 int currentlyAvailableCores = onlineSlaves.Sum(s => s.Cores.Value); … … 24 37 this.waitingJobsLabel.Text = currentlyJobsWaiting.ToString(); 25 38 26 slavesLabel.Text = string.Join(", ", onlineSlaves.Select(x => string.Format(" {0}({1} %)", x.Name, Math.Round(x.CpuUtilization, 2))));39 slavesLabel.Text = string.Join(", ", onlineSlaves.Select(x => string.Format("<a href=\"?resource={0}\">{0}</a> ({1} %)", x.Name, Math.Round(x.CpuUtilization, 2)))); 27 40 28 41 cpuUtilizationLabel.Text = (onlineSlaves.Count() > 0 ? Math.Round(onlineSlaves.Average(s => s.CpuUtilization), 2).ToString() : "0.0") + " %"; … … 30 43 HeuristicLab.Services.Hive.Common.DataTransfer.Statistics[] stats; 31 44 if (daysDropDownList.SelectedValue == "All") 32 stats = dao.GetStatistics(x => true).OrderBy Descending(x => x.TimeStamp).ToArray();45 stats = dao.GetStatistics(x => true).OrderBy(x => x.TimeStamp).ToArray(); 33 46 else 34 stats = dao.GetStatistics(x => x.Timestamp >= DateTime.Now.Subtract(TimeSpan.FromDays(int.Parse(daysDropDownList.SelectedValue)))).OrderBy Descending(x => x.TimeStamp).ToArray();47 stats = dao.GetStatistics(x => x.Timestamp >= DateTime.Now.Subtract(TimeSpan.FromDays(int.Parse(daysDropDownList.SelectedValue)))).OrderBy(x => x.TimeStamp).ToArray(); 35 48 36 49 var firstStatisticsDate = DateTime.Parse("2011-05-24 17:16:40"); 37 50 var statisticsSince = DateTime.Now - firstStatisticsDate; 38 totalExecutionTimeLabel.Text = new TimeSpan(stats. First().UserStatistics.Sum(x => x.ExecutionTime.Ticks)).ToString() + " (since " + Math.Round(statisticsSince.TotalDays, 2) + " days)";39 51 totalExecutionTimeLabel.Text = new TimeSpan(stats.Last().UserStatistics.Sum(x => x.ExecutionTime.Ticks)).ToString() + " (since " + Math.Round(statisticsSince.TotalDays, 2) + " days)"; 52 40 53 for (int i = 0; i < stats.Length; i++) { 41 54 var s = stats[i]; 55 var slaveStats = s.SlaveStatistics.Where(x => resourceIds.Contains(x.SlaveId)); 42 56 43 var averageCpuUtilization = s .SlaveStatistics.Count() > 0 ? s.SlaveStatistics.Average(x => x.CpuUtilization) : 0.0;57 var averageCpuUtilization = slaveStats.Count() > 0 ? slaveStats.Average(x => x.CpuUtilization) : 0.0; 44 58 cpuUtilizationChart.Series[0].Points.Add(new DataPoint(s.TimeStamp.ToOADate(), averageCpuUtilization)); 45 59 46 var cores = s .SlaveStatistics.Sum(x => x.Cores);60 var cores = slaveStats.Sum(x => x.Cores); 47 61 48 var usedCores = cores - s .SlaveStatistics.Sum(x => x.FreeCores);62 var usedCores = cores - slaveStats.Sum(x => x.FreeCores); 49 63 coresChart.Series[0].Points.AddXY(s.TimeStamp.ToOADate(), cores); 50 64 coresChart.Series[1].Points.AddXY(s.TimeStamp.ToOADate(), usedCores); 51 65 52 var memory = s .SlaveStatistics.Sum(x => x.Memory);53 var usedMemory = memory - s .SlaveStatistics.Sum(x => x.FreeMemory);54 memoryChart.Series[0].Points.AddXY(s.TimeStamp.ToOADate(), memory /1024);55 memoryChart.Series[1].Points.AddXY(s.TimeStamp.ToOADate(), usedMemory /1024);66 var memory = slaveStats.Sum(x => x.Memory); 67 var usedMemory = memory - slaveStats.Sum(x => x.FreeMemory); 68 memoryChart.Series[0].Points.AddXY(s.TimeStamp.ToOADate(), memory / 1024.0); 69 memoryChart.Series[1].Points.AddXY(s.TimeStamp.ToOADate(), usedMemory / 1024.0); 56 70 57 71 if (i > 0) { … … 63 77 var speedup = execTimeDifference.TotalMinutes / timeDifference.TotalMinutes; 64 78 speedupChartMinutes.Series[0].Points.AddXY(s.TimeStamp.ToOADate(), speedup); 79 speedupChartMinutes.Series[1].Points.AddXY(s.TimeStamp.ToOADate(), cores); 65 80 } 66 81 if (i - 60 >= 0) { … … 72 87 var speedup = execTimeDifference.TotalMinutes / timeDifference.TotalMinutes; 73 88 speedupChartHours.Series[0].Points.AddXY(s.TimeStamp.ToOADate(), speedup); 89 speedupChartHours.Series[1].Points.AddXY(s.TimeStamp.ToOADate(), cores); 74 90 } 75 91 } -
branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Services.Hive.Web/Hive-3.4/Web.config
r6463 r6478 36 36 </connectionStrings> 37 37 <system.web> 38 <httpHandlers> 39 <add path="ChartImg.axd" verb="GET,HEAD,POST" type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler, System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" 40 validate="false" /> 41 </httpHandlers> 38 42 <compilation debug="true" targetFramework="4.0"> 39 43 <assemblies>
Note: See TracChangeset
for help on using the changeset viewer.