From 872386b427278ccc97eded4b9e053067bc00f8e6 Mon Sep 17 00:00:00 2001 From: Marcus Efraimsson Date: Wed, 18 Oct 2023 11:59:36 +0200 Subject: [PATCH] Instrumentation: Log errors embedded within query data responses (#76285) Fixes #76140 Co-authored-by: Giuseppe Guerra --- .../clientmiddleware/logger_middleware.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/pkg/services/pluginsintegration/clientmiddleware/logger_middleware.go b/pkg/services/pluginsintegration/clientmiddleware/logger_middleware.go index 45e3eec7e3e..74dc492fc8a 100644 --- a/pkg/services/pluginsintegration/clientmiddleware/logger_middleware.go +++ b/pkg/services/pluginsintegration/clientmiddleware/logger_middleware.go @@ -73,7 +73,19 @@ func (m *LoggerMiddleware) QueryData(ctx context.Context, req *backend.QueryData var resp *backend.QueryDataResponse err := m.logRequest(ctx, func(ctx context.Context) (innerErr error) { resp, innerErr = m.next.QueryData(ctx, req) - return innerErr + + if innerErr != nil { + return innerErr + } + + ctxLogger := m.logger.FromContext(ctx) + for refID, dr := range resp.Responses { + if dr.Error != nil { + ctxLogger.Error("Partial data response error", "refID", refID, "error", dr.Error) + } + } + + return nil }) return resp, err