diff --git a/probe/exporter.go b/probe/exporter.go index 259f6d7..e5e3d77 100644 --- a/probe/exporter.go +++ b/probe/exporter.go @@ -3,6 +3,7 @@ package probe import ( "bytes" "encoding/json" + "log" "net/http" "time" @@ -45,11 +46,14 @@ func (di *diskInfoImpl) Export(metrics *DiskMetrics) error { return err } + var resp *http.Response for retryCounter := 0; retryCounter < maxRetryCount; retryCounter++ { - _, err = http.Post(di.url, "application/json", bytes.NewReader(s)) + resp, err = http.Post(di.url, "application/json", bytes.NewReader(s)) if err == nil { + _ = resp.Body.Close() return nil } + log.Printf("failed to post data: %v", err) time.Sleep(time.Second * retryIntervalSec) }