From 64daf1a2849d8ed239912a6d0f46e95bee194713 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Sat, 22 Apr 2023 14:43:56 +0300 Subject: dont show status change for unhandled report --- internal/state.go | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'internal') diff --git a/internal/state.go b/internal/state.go index d318ca9..aaa54e9 100644 --- a/internal/state.go +++ b/internal/state.go @@ -105,25 +105,25 @@ func (s state) report(renotify bool) (string, string, bool) { } func (s state) reportChanged(sb *strings.Builder) (changed bool) { - if 0 < s.reportBy(sb, func(cs checkState) bool { + if 0 < s.reportBy(sb, true, func(cs checkState) bool { return cs.Status == critical && cs.changed() }) { changed = true } - if 0 < s.reportBy(sb, func(cs checkState) bool { + if 0 < s.reportBy(sb, true, func(cs checkState) bool { return cs.Status == warning && cs.changed() }) { changed = true } - if 0 < s.reportBy(sb, func(cs checkState) bool { + if 0 < s.reportBy(sb, true, func(cs checkState) bool { return cs.Status == unknown && cs.changed() }) { changed = true } - if 0 < s.reportBy(sb, func(cs checkState) bool { + if 0 < s.reportBy(sb, true, func(cs checkState) bool { return cs.Status == ok && cs.changed() }) { changed = true @@ -135,15 +135,15 @@ func (s state) reportChanged(sb *strings.Builder) (changed bool) { func (s state) reportUnhandled(sb *strings.Builder) (numCriticals, numWarnings, numUnknown, numOK int) { - numCriticals = s.reportBy(sb, func(cs checkState) bool { return cs.Status == critical }) - numWarnings = s.reportBy(sb, func(cs checkState) bool { return cs.Status == warning }) - numUnknown = s.reportBy(sb, func(cs checkState) bool { return cs.Status == unknown }) + numCriticals = s.reportBy(sb, false, func(cs checkState) bool { return cs.Status == critical }) + numWarnings = s.reportBy(sb, false, func(cs checkState) bool { return cs.Status == warning }) + numUnknown = s.reportBy(sb, false, func(cs checkState) bool { return cs.Status == unknown }) numOK = s.countBy(func(cs checkState) bool { return cs.Status == ok }) return } -func (s state) reportBy(sb *strings.Builder, +func (s state) reportBy(sb *strings.Builder, showStatusChange bool, filter func(cs checkState) bool) (count int) { for name, cs := range s.checks { @@ -152,7 +152,7 @@ func (s state) reportBy(sb *strings.Builder, } count++ - if cs.changed() { + if showStatusChange && cs.changed() { sb.WriteString(nagiosCode(cs.PrevStatus).Str()) sb.WriteString("->") } -- cgit v1.2.3