public GetMethodDetailResponse MethodDetails(GetMethodDetailRequest request)
        {
            var response = new GetMethodDetailResponse {
                Details = new MethodDetails()
            };

            var list = _hbArchiveItems.Where(x => x.ClientMachine == request.ServerName && x.ApplicationName == request.ServiceName && x.MethodName == request.MethodName);

            response.Details.MethodName             = request.MethodName;
            response.Details.ApplicationName        = request.ServiceName;
            response.Details.ServerName             = request.ServerName;
            response.Details.TotalExceptionCount    = list.Sum(s => s.ExceptionCount);
            response.Details.OverallAverageDuration = list.Sum(s => s.AverageDuration) / list.Count();
            var dateInfo = _allInfo.Where(x => x.MethodName == request.MethodName).FirstOrDefault();

            response.Details.FirstExecution      = dateInfo.FirstHeartBeatDate;
            response.Details.LastExecution       = dateInfo.LastHeartBeatDate;
            response.Details.TotalExecutionCount = list.Sum(s => s.ExecutionCount);
            response.Details.MaxDuration         = list.OrderByDescending(or => or.MaxDuration).First().MaxDuration;
            response.Details.MinDuration         = list.OrderBy(or => or.MinDuration).First().MinDuration;

            return(response);
        }
Beispiel #2
0
 public GetMethodDetailResponse GetMethodDetails(GetMethodDetailRequest request)
 {
     return(_hbArchiveProcessor.MethodDetails(request));
 }
Beispiel #3
0
 public GetMethodDetailResponse GetMethodDetails(GetMethodDetailRequest request)
 {
     return _hbArchiveProcessor.MethodDetails(request);
 }