|
|
@@ -2617,18 +2617,28 @@ func QueryRange(cli prometheusClient.Client, query string, start, end time.Time,
|
|
|
|
|
|
resp, body, warnings, err := cli.Do(context.Background(), req)
|
|
|
for _, w := range warnings {
|
|
|
- klog.V(3).Infof("[Warning] '%s' fetching query '%s'", w, query)
|
|
|
+ klog.V(3).Infof("Warning '%s' fetching query '%s'", w, query)
|
|
|
}
|
|
|
if err != nil {
|
|
|
- return nil, fmt.Errorf("[Error] %s fetching query %s", err.Error(), query)
|
|
|
+ if resp == nil {
|
|
|
+ return nil, fmt.Errorf("Error: %s, Body: %s Query: %s", err.Error(), body, query)
|
|
|
+ }
|
|
|
+
|
|
|
+ return nil, fmt.Errorf("%d (%s) Headers: %s Error: %s Body: %s Query: %s", resp.StatusCode, http.StatusText(resp.StatusCode), util.HeaderString(resp.Header), body, err.Error(), query)
|
|
|
+ }
|
|
|
+
|
|
|
+ // Unsuccessful Status Code, log body and status
|
|
|
+ statusCode := resp.StatusCode
|
|
|
+ statusText := http.StatusText(statusCode)
|
|
|
+ if resp.StatusCode < 200 || resp.StatusCode >= 300 {
|
|
|
+ return nil, fmt.Errorf("%d (%s) Headers: %s Body: %s Query: %s", statusCode, statusText, util.HeaderString(resp.Header), body, query)
|
|
|
}
|
|
|
|
|
|
var toReturn interface{}
|
|
|
err = json.Unmarshal(body, &toReturn)
|
|
|
if err != nil {
|
|
|
- return nil, fmt.Errorf("[Error] %d %s fetching query %s", resp.StatusCode, err.Error(), query)
|
|
|
+ return nil, fmt.Errorf("%d (%s) Headers: %s Error: %s Body: %s Query: %s", statusCode, statusText, util.HeaderString(resp.Header), err.Error(), body, query)
|
|
|
}
|
|
|
-
|
|
|
return toReturn, nil
|
|
|
}
|
|
|
|
|
|
@@ -2649,15 +2659,23 @@ func Query(cli prometheusClient.Client, query string) (interface{}, error) {
|
|
|
}
|
|
|
if err != nil {
|
|
|
if resp == nil {
|
|
|
- return nil, fmt.Errorf("Error %s fetching query %s", err.Error(), query)
|
|
|
+ return nil, fmt.Errorf("Error: %s, Body: %s Query: %s", err.Error(), body, query)
|
|
|
}
|
|
|
|
|
|
- return nil, fmt.Errorf("%d Error %s fetching query %s", resp.StatusCode, err.Error(), query)
|
|
|
+ return nil, fmt.Errorf("%d (%s) Headers: %s Error: %s Body: %s Query: %s", resp.StatusCode, http.StatusText(resp.StatusCode), util.HeaderString(resp.Header), body, err.Error(), query)
|
|
|
}
|
|
|
+
|
|
|
+ // Unsuccessful Status Code, log body and status
|
|
|
+ statusCode := resp.StatusCode
|
|
|
+ statusText := http.StatusText(statusCode)
|
|
|
+ if resp.StatusCode < 200 || resp.StatusCode >= 300 {
|
|
|
+ return nil, fmt.Errorf("%d (%s) Headers: %s, Body: %s Query: %s", statusCode, statusText, util.HeaderString(resp.Header), body, query)
|
|
|
+ }
|
|
|
+
|
|
|
var toReturn interface{}
|
|
|
err = json.Unmarshal(body, &toReturn)
|
|
|
if err != nil {
|
|
|
- return nil, fmt.Errorf("Error %s fetching query %s", err.Error(), query)
|
|
|
+ return nil, fmt.Errorf("%d (%s) Headers: %s Error: %s Body: %s Query: %s", statusCode, statusText, util.HeaderString(resp.Header), err.Error(), body, query)
|
|
|
}
|
|
|
return toReturn, nil
|
|
|
}
|