瀏覽代碼

Merge pull request #819 from kubecost/AjayTripathy-fixquery-errorcode

better logging in query. mirrors queryrange logging but adds req.URL
Ajay Tripathy 5 年之前
父節點
當前提交
b48f855406
共有 1 個文件被更改,包括 6 次插入0 次删除
  1. 6 0
      pkg/prom/query.go

+ 6 - 0
pkg/prom/query.go

@@ -186,6 +186,12 @@ func (ctx *Context) query(query string) (interface{}, prometheus.Warnings, error
 
 		return nil, warnings, fmt.Errorf("query error %d: '%s' fetching query '%s'", resp.StatusCode, 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, warnings, fmt.Errorf("%d (%s) URL: '%s' Headers: '%s', Body: '%s' Query: '%s'", statusCode, statusText, req.URL, util.HeaderString(resp.Header), body, query)
+	}
 
 	var toReturn interface{}
 	err = json.Unmarshal(body, &toReturn)