mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Azure Monitor: Fix empty/errored responses for Logs variables (#59240)
This commit is contained in:
committed by
GitHub
parent
cff36ea7d8
commit
276b54fe9d
@@ -190,7 +190,10 @@ func (e *AzureLogAnalyticsDatasource) executeQuery(ctx context.Context, logger l
|
||||
if err != nil {
|
||||
return dataResponseErrorWithExecuted(err)
|
||||
}
|
||||
appendErrorNotice(frame, logResponse.Error)
|
||||
frame = appendErrorNotice(frame, logResponse.Error)
|
||||
if frame == nil {
|
||||
return dataResponse
|
||||
}
|
||||
|
||||
model, err := simplejson.NewJson(query.JSON)
|
||||
if err != nil {
|
||||
@@ -222,10 +225,15 @@ func (e *AzureLogAnalyticsDatasource) executeQuery(ctx context.Context, logger l
|
||||
return dataResponse
|
||||
}
|
||||
|
||||
func appendErrorNotice(frame *data.Frame, err *AzureLogAnalyticsAPIError) {
|
||||
if err != nil {
|
||||
frame.AppendNotices(apiErrorToNotice(err))
|
||||
func appendErrorNotice(frame *data.Frame, err *AzureLogAnalyticsAPIError) *data.Frame {
|
||||
if err == nil {
|
||||
return frame
|
||||
}
|
||||
if frame == nil {
|
||||
frame = &data.Frame{}
|
||||
}
|
||||
frame.AppendNotices(apiErrorToNotice(err))
|
||||
return frame
|
||||
}
|
||||
|
||||
func (e *AzureLogAnalyticsDatasource) createRequest(ctx context.Context, logger log.Logger, url string) (*http.Request, error) {
|
||||
|
||||
@@ -45,12 +45,7 @@ func apiErrorToNotice(err *AzureLogAnalyticsAPIError) data.Notice {
|
||||
// ResponseTableToFrame converts an AzureResponseTable to a data.Frame.
|
||||
func ResponseTableToFrame(table *types.AzureResponseTable, refID string, executedQuery string) (*data.Frame, error) {
|
||||
if len(table.Rows) == 0 {
|
||||
return &data.Frame{
|
||||
RefID: refID,
|
||||
Meta: &data.FrameMeta{
|
||||
ExecutedQueryString: executedQuery,
|
||||
},
|
||||
}, nil
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
converterFrame, err := converterFrameForTable(table)
|
||||
|
||||
@@ -173,12 +173,7 @@ func TestLogTableToFrame(t *testing.T) {
|
||||
name: "empty data response",
|
||||
testFile: "loganalytics/11-log-analytics-response-empty.json",
|
||||
expectedFrame: func() *data.Frame {
|
||||
return &data.Frame{
|
||||
RefID: "A",
|
||||
Meta: &data.FrameMeta{
|
||||
ExecutedQueryString: "query",
|
||||
},
|
||||
}
|
||||
return nil
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user