static List <AverageLoadVm> GetAvgByMinute(DateTime start, DateTime end, List <Checkin> checkins) { var ts = end - start; var minutes = ts.Minutes; var list = new List <AverageLoadVm>(); for (var i = minutes * -1; i < 0; i++) { var timeIndex = end.AddMinutes(i); var rv = checkins.Where(c => c.SampleTime > timeIndex && c.SampleTime < timeIndex.AddMinutes(1)).ToList(); if (!rv.Any()) { continue; } var avg = new AverageLoadVm() { AvgCpuLoad = rv.Average(c => c.CpuUtilization), AvgMemLoad = rv.Average(c => c.RamUtilization), TimeIndex = timeIndex, Increment = 1 }; list.Add(avg); } return(list); }
private static List <AverageLoadVm> GetLast24Hours(DateTime time, List <Checkin> checkins) { var list = new List <AverageLoadVm>(); for (var i = -24; i < 0; i++) { var timeIndex = time.AddHours(i); var rv = checkins.Where(c => c.SampleTime > timeIndex && c.SampleTime < timeIndex.AddHours(1)).ToList(); if (!rv.Any()) { continue; } var avg = new AverageLoadVm() { AvgCpuLoad = rv.Average(c => c.CpuUtilization), AvgMemLoad = rv.Average(c => c.RamUtilization), TimeIndex = timeIndex, Increment = 1 }; list.Add(avg); } return(list); }
static List <AverageLoadVm> GetAvgByHour(DateTime start, DateTime end, List <Checkin> checkins) { var ts = end - start; var minutes = ts.Minutes % 60; var hours = ts.Hours; List <AverageLoadVm> list = new List <AverageLoadVm>(); var first = new AverageLoadVm() { AvgCpuLoad = checkins.Where(c => c.SampleTime > start && c.SampleTime < start.AddMinutes(minutes))? .Average(c => c.CpuUtilization) ?? 0.00D, AvgMemLoad = checkins.Where(c => c.SampleTime > start && c.SampleTime < start.AddMinutes(minutes))? .Average(c => c.RamUtilization) ?? 0.00D, TimeIndex = start, Increment = minutes }; list.Add(first); for (var i = hours * -1; i < 0; i++) { var timeIndex = end.AddHours(i); var rv = checkins.Where(c => c.SampleTime > timeIndex && c.SampleTime < timeIndex.AddHours(1)).ToList(); if (!rv.Any()) { continue; } var avg = new AverageLoadVm() { AvgCpuLoad = rv.Average(c => c.CpuUtilization), AvgMemLoad = rv.Average(c => c.RamUtilization), TimeIndex = timeIndex, Increment = 60 }; list.Add(avg); } return(list); }