perf: Cache lowercase RAID state in alerts processing

Compute strings.ToLower(array.State) once and reuse stateLower instead
of calling ToLower three times when checking RAID array status.
This commit is contained in:
rcourtman 2025-12-02 15:35:32 +00:00
parent 128dccf270
commit 9fc567dc2e

View file

@ -2475,9 +2475,10 @@ func (m *Manager) CheckHost(host models.Host) {
}
// Check for degraded or failed arrays
isDegraded := strings.Contains(strings.ToLower(array.State), "degraded") || array.FailedDevices > 0
isRebuilding := strings.Contains(strings.ToLower(array.State), "recover") ||
strings.Contains(strings.ToLower(array.State), "resync") ||
stateLower := strings.ToLower(array.State)
isDegraded := strings.Contains(stateLower, "degraded") || array.FailedDevices > 0
isRebuilding := strings.Contains(stateLower, "recover") ||
strings.Contains(stateLower, "resync") ||
array.RebuildPercent > 0
alertID := fmt.Sprintf("host-%s-raid-%s", host.ID, sanitizeRAIDDevice(array.Device))