Пример #1
0
        internal void ReportFailure(string endpointUrl, MonitorFailure failure)
        {
            if (ShouldSendNotification(failure))
            {
                EmailSender.SendAlert(endpointUrl, Settings, LastFailure, failure);
                LastNotificationSent = DateTime.Now;
            }

            LastFailure = failure;
        }
Пример #2
0
 private bool ShouldSendNotification(MonitorFailure failure) =>
 LastFailure != null &&
 IsUnderFailureTolerance(failure) &&
 NotificationIntervalHasElapsed();
Пример #3
0
 private void ReportFailure(MonitorFailure failure) =>
 Tracker.ReportFailure(Endpoint.Url, failure);
Пример #4
0
 private bool IsUnderFailureTolerance(MonitorFailure failure) =>
 failure.Occurrence - LastFailure.Occurrence < Tolerance;
Пример #5
0
 internal static string FormatFailure(MonitorFailure failure, int num) =>
 $"Issue {num + 1}: {failure}\n\nDetails:\n\n{failure.SPResult.GetDetails()}";