public void Send([NotNull] HealthCheckResult result) { Guard.AgainstNull(nameof(result), result); result.Finalize(result.CheckId, r => r.Level >= _settings.Threshold); if (result.Level >= _settings.Threshold) { _writeLine(_formatter.Format(result)); } }
public void Send([NotNull] HealthCheckResult result) { Guard.AgainstNull(nameof(result), result); SendHeartbeat(); result.Finalize(result.CheckId, r => r.Level >= _settings.Threshold); if (result.Level >= _settings.Threshold) { NotifyFailureResult(result); } }
public void Send([NotNull] HealthCheckResult result) { Guard.AgainstNull(nameof(result), result); if (_settings.DebounceTimeInSecs > 0 && DateTime.Now < _dontAlertBefore) { return; } result.Finalize(result.CheckId, r => r.Level >= _settings.Threshold); if (result.Level >= _settings.Threshold) { var message = new SlackMessage(result, _formatter); if (_settings.DebounceTimeInSecs > 0) { _dontAlertBefore = DateTime.Now.AddSeconds(_settings.DebounceTimeInSecs); message.AddAttachment("Debouncing messages until at least *" + _dontAlertBefore.ToString("yyyy-MM-dd, HH:mm:ss") + "*, even if more problems arise."); } SimpleRestUtils.PostToRestApi(_settings.Url, message); } }