From 437620776c4765cb6297d21fd878ee33cd2a3508 Mon Sep 17 00:00:00 2001 From: Michael Derynck Date: Fri, 30 Aug 2024 10:42:12 -0600 Subject: [PATCH] Plugin sync logging improvements (#4963) # What this PR does - Fix logging when no error - Add more logging to request errors during sync" ## Which issue(s) this PR closes Related to [issue link here] ## Checklist - [x] Unit, integration, and e2e (if applicable) tests updated - [x] Documentation added (or `pr:no public docs` PR label added if not required) - [x] Added the relevant release notes label (see labels prefixed w/ `release:`). These labels dictate how your PR will show up in the autogenerated release notes. --- grafana-plugin/pkg/plugin/sync.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/grafana-plugin/pkg/plugin/sync.go b/grafana-plugin/pkg/plugin/sync.go index 249a10f5..72a1c6f6 100644 --- a/grafana-plugin/pkg/plugin/sync.go +++ b/grafana-plugin/pkg/plugin/sync.go @@ -8,6 +8,7 @@ import ( "errors" "fmt" "github.com/grafana/grafana-plugin-sdk-go/backend/log" + "io" "net/http" "net/url" "strconv" @@ -83,7 +84,7 @@ func (a *App) doSync(ctx context.Context, forceSend bool) { var cacheAlreadyLocked *SyncCacheAlreadyLocked if errors.As(err, &cacheAlreadyLocked) { log.DefaultLogger.Info("Skipping sync", "message", err) - } else { + } else if err != nil { log.DefaultLogger.Error("Error making sync request", "error", err) } }() @@ -175,6 +176,17 @@ func (a *App) makeSyncRequest(ctx context.Context, forceSend bool) error { } defer res.Body.Close() + if res.StatusCode != http.StatusOK { + bodyBytes, err := io.ReadAll(res.Body) + if err != nil { + log.DefaultLogger.Error("failed to read response body", "error", err, "status", res.StatusCode) + } else { + log.DefaultLogger.Error("sync not ok", "status", res.StatusCode, "message", string(bodyBytes)) + } + } else { + log.DefaultLogger.Info("sync ok", "status", res.StatusCode) + } + a.lastOnCallSync = onCallSync return nil }