lib/promscrape: release http response non-200 status code

This commit is contained in:
Aliaksandr Valialkin 2020-11-26 13:25:00 +02:00
parent e6447e7588
commit 3dd2282ed9

View File

@ -215,13 +215,13 @@ func (c *client) ReadData(dst []byte) ([]byte, error) {
} else if !swapResponseBodies { } else if !swapResponseBodies {
dst = append(dst, resp.Body()...) dst = append(dst, resp.Body()...)
} }
fasthttp.ReleaseResponse(resp)
if statusCode != fasthttp.StatusOK { if statusCode != fasthttp.StatusOK {
metrics.GetOrCreateCounter(fmt.Sprintf(`vm_promscrape_scrapes_total{status_code="%d"}`, statusCode)).Inc() metrics.GetOrCreateCounter(fmt.Sprintf(`vm_promscrape_scrapes_total{status_code="%d"}`, statusCode)).Inc()
return dst, fmt.Errorf("unexpected status code returned when scraping %q: %d; expecting %d; response body: %q", return dst, fmt.Errorf("unexpected status code returned when scraping %q: %d; expecting %d; response body: %q",
c.scrapeURL, statusCode, fasthttp.StatusOK, dst) c.scrapeURL, statusCode, fasthttp.StatusOK, dst)
} }
scrapesOK.Inc() scrapesOK.Inc()
fasthttp.ReleaseResponse(resp)
return dst, nil return dst, nil
} }