From 4df31263b5f05f4c6c8ccb7a335ab8265ff87ff6 Mon Sep 17 00:00:00 2001 From: yusing Date: Mon, 5 May 2025 00:33:43 +0800 Subject: [PATCH] fix(sensor): ignore "no data available" error --- internal/metrics/systeminfo/system_info.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/internal/metrics/systeminfo/system_info.go b/internal/metrics/systeminfo/system_info.go index 69178b06..cdd75fc6 100644 --- a/internal/metrics/systeminfo/system_info.go +++ b/internal/metrics/systeminfo/system_info.go @@ -7,6 +7,7 @@ import ( "fmt" "net/url" "strconv" + "syscall" "time" "github.com/shirou/gopsutil/v4/cpu" @@ -71,6 +72,10 @@ func _() { // check if this behavior is not changed var _ sensors.Warnings = disk.Warnings{} } +func isNoDataAvailable(err error) bool { + return errors.Is(err, syscall.ENODATA) +} + func getSystemInfo(ctx context.Context, lastResult *SystemInfo) (*SystemInfo, error) { errs := gperr.NewBuilder("failed to get system info") var s SystemInfo @@ -99,6 +104,9 @@ func getSystemInfo(ctx context.Context, lastResult *SystemInfo) (*SystemInfo, er warnings := new(warning.Warning) if errors.As(err, &warnings) { for _, warning := range warnings.List { + if isNoDataAvailable(warning) { + continue + } allWarnings.Add(warning) } } else {