Exemple #1
0
        private static AlertSummary CreateAlertSummary(ElmahIoResponse elmahResponse, string policyName, string logId)
        {
            var alertSummary = new AlertSummary
            {
                TotalCount   = elmahResponse.Total,
                PolicyName   = policyName,
                LogId        = logId,
                MostFrequent = elmahResponse.Messages.GroupBy(p => p.Type)
                               .OrderByDescending(p => p.Count()).Take(5)
                               .ToDictionary(p => p.Key, p => p.Count()),
                SeverityCount = elmahResponse.Messages.GroupBy(p => p.Severity)
                                .OrderByDescending(p => p.Count())
                                .ToDictionary(p => p.Key, p => p.Count())
            };

            return(alertSummary);
        }
Exemple #2
0
 private static void SetTimeDiffString(ElmahIoResponse elmahResponse, AlertSummary alertSummary)
 {
     if (elmahResponse.Messages.Any())
     {
         var timeDiff = (DateTime.UtcNow - elmahResponse.Messages.Min(p => p.DateTime));
         if (timeDiff.TotalSeconds < 60)
         {
             alertSummary.FirstErrorTimeDiffString = (int)timeDiff.TotalSeconds + " seconds";
         }
         else
         {
             alertSummary.FirstErrorTimeDiffString =
                 (int)(DateTime.UtcNow - elmahResponse.Messages.Min(p => p.DateTime)).TotalMinutes +
                 " minutes";
         }
     }
 }