Instrumentation: Log errors embedded within query data responses (#76285)

Fixes #76140

Co-authored-by: Giuseppe Guerra <giuseppe.guerra@grafana.com>
This commit is contained in:
Marcus Efraimsson 2023-10-18 11:59:36 +02:00 committed by GitHub
parent 1fc375855c
commit 872386b427
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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