private IList<ServiceHostStatMinute> StatData(string serviceName,DateTime statTime,IEnumerable<IGrouping<string,StatMetaData.StatMetaData>> groupIps) { var statList = new List<ServiceHostStatMinute>(); foreach (var groupIp in groupIps) { var stat = new ServiceHostStatMinute() { ResponseFrequency = groupIp.Sum(m => m.ResponseFrequency), Host = groupIp.Key, MaxResponseTime = groupIp.Max(m => m.MaxResponseTime), MinResponseTime = groupIp.Min(m => m.MinResponseTime), ServiceName = serviceName, StatTime = statTime, TotalResponseTime = groupIp.Sum(m => m.TotalResponseTime), AverageResponseTime = groupIp.Sum(m => m.TotalResponseTime) / Math.Max(groupIp.Sum(m => m.ResponseFrequency), 1), ErrorResponseFrquency = groupIp.Sum(m => m.ErrorResponseFrquency), RequestFrequency = groupIp.Sum(m => m.RequestFrequency), AverageRequestResponseTime = groupIp.Sum(m => m.TotalResponseTime) / Math.Max(groupIp.Sum(m => m.RequestFrequency), 1) }; statList.Add(stat); } return statList; }
private IList <ServiceHostStatMinute> StatData(string serviceName, DateTime statTime, IEnumerable <IGrouping <string, StatMetaData.StatMetaData> > groupIps) { var statList = new List <ServiceHostStatMinute>(); foreach (var groupIp in groupIps) { var stat = new ServiceHostStatMinute() { ResponseFrequency = groupIp.Sum(m => m.ResponseFrequency), Host = groupIp.Key, MaxResponseTime = groupIp.Max(m => m.MaxResponseTime), MinResponseTime = groupIp.Min(m => m.MinResponseTime), ServiceName = serviceName, StatTime = statTime, TotalResponseTime = groupIp.Sum(m => m.TotalResponseTime), AverageResponseTime = groupIp.Sum(m => m.TotalResponseTime) / groupIp.Sum(m => m.ResponseFrequency), ErrorResponseFrquency = groupIp.Sum(m => m.ErrorResponseFrquency), RequestFrequency = groupIp.Sum(m => m.RequestFrequency), AverageRequestResponseTime = groupIp.Sum(m => m.TotalResponseTime) / groupIp.Sum(m => m.RequestFrequency) }; statList.Add(stat); } return(statList); }