mirror of
https://github.com/henrygd/beszel.git
synced 2026-04-07 13:31:49 +02:00
hub: add debug logs for smart behavior (#1800)
This commit is contained in:
@@ -145,6 +145,7 @@ func (sys *System) update() error {
|
|||||||
// update smart interval if it's set on the agent side
|
// update smart interval if it's set on the agent side
|
||||||
if data.Details.SmartInterval > 0 {
|
if data.Details.SmartInterval > 0 {
|
||||||
sys.smartInterval = data.Details.SmartInterval
|
sys.smartInterval = data.Details.SmartInterval
|
||||||
|
sys.manager.hub.Logger().Info("SMART interval updated from agent details", "system", sys.Id, "interval", sys.smartInterval.String())
|
||||||
// make sure we reset expiration of lastFetch to remain as long as the new smart interval
|
// make sure we reset expiration of lastFetch to remain as long as the new smart interval
|
||||||
// to prevent premature expiration leading to new fetch if interval is different.
|
// to prevent premature expiration leading to new fetch if interval is different.
|
||||||
sys.manager.smartFetchMap.UpdateExpiration(sys.Id, sys.smartInterval+time.Minute)
|
sys.manager.smartFetchMap.UpdateExpiration(sys.Id, sys.smartInterval+time.Minute)
|
||||||
@@ -157,6 +158,7 @@ func (sys *System) update() error {
|
|||||||
sys.smartInterval = time.Hour
|
sys.smartInterval = time.Hour
|
||||||
}
|
}
|
||||||
if sys.shouldFetchSmart() && sys.smartFetching.CompareAndSwap(false, true) {
|
if sys.shouldFetchSmart() && sys.smartFetching.CompareAndSwap(false, true) {
|
||||||
|
sys.manager.hub.Logger().Info("SMART fetch", "system", sys.Id, "interval", sys.smartInterval.String())
|
||||||
go func() {
|
go func() {
|
||||||
defer sys.smartFetching.Store(false)
|
defer sys.smartFetching.Store(false)
|
||||||
_ = sys.FetchAndSaveSmartDevices()
|
_ = sys.FetchAndSaveSmartDevices()
|
||||||
|
|||||||
@@ -28,7 +28,12 @@ func (sys *System) recordSmartFetchResult(err error, deviceCount int) {
|
|||||||
if sys.manager == nil {
|
if sys.manager == nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
sys.manager.smartFetchMap.Set(sys.Id, err == nil && deviceCount > 0, sys.smartFetchInterval()+time.Minute)
|
interval := sys.smartFetchInterval()
|
||||||
|
success := err == nil && deviceCount > 0
|
||||||
|
if sys.manager.hub != nil {
|
||||||
|
sys.manager.hub.Logger().Info("SMART fetch result", "system", sys.Id, "success", success, "devices", deviceCount, "interval", interval.String(), "err", err)
|
||||||
|
}
|
||||||
|
sys.manager.smartFetchMap.Set(sys.Id, success, interval+time.Minute)
|
||||||
}
|
}
|
||||||
|
|
||||||
// shouldFetchSmart returns true when there is no active SMART cooldown entry for this system.
|
// shouldFetchSmart returns true when there is no active SMART cooldown entry for this system.
|
||||||
|
|||||||
Reference in New Issue
Block a user