|
|
@ -226,25 +226,26 @@ func (pd *PromeDataSource) processWrite(payload []byte) {
|
|
|
|
newC := c
|
|
|
|
newC := c
|
|
|
|
go func(cc *HttpClient, payload []byte) {
|
|
|
|
go func(cc *HttpClient, payload []byte) {
|
|
|
|
sendOk := false
|
|
|
|
sendOk := false
|
|
|
|
var err error
|
|
|
|
|
|
|
|
var rec bool
|
|
|
|
var rec bool
|
|
|
|
|
|
|
|
var finalErr error
|
|
|
|
for i := 0; i < retry; i++ {
|
|
|
|
for i := 0; i < retry; i++ {
|
|
|
|
err = remoteWritePost(cc, payload)
|
|
|
|
err := remoteWritePost(cc, payload)
|
|
|
|
if err == nil {
|
|
|
|
if err == nil {
|
|
|
|
sendOk = true
|
|
|
|
sendOk = true
|
|
|
|
break
|
|
|
|
break
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
err, rec = err.(RecoverableError)
|
|
|
|
_, rec = err.(RecoverableError)
|
|
|
|
|
|
|
|
|
|
|
|
if !rec {
|
|
|
|
if !rec {
|
|
|
|
|
|
|
|
finalErr = err
|
|
|
|
break
|
|
|
|
break
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
logger.Warningf("[send prome fail recoverableError][retry: %d/%d][err:%v]", i+1, retry, err)
|
|
|
|
logger.Warningf("send prome fail: %v", err)
|
|
|
|
|
|
|
|
time.Sleep(time.Millisecond * 100)
|
|
|
|
time.Sleep(time.Millisecond * 100)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if !sendOk {
|
|
|
|
if !sendOk {
|
|
|
|
logger.Errorf("send prome finally fail: %v", err)
|
|
|
|
logger.Errorf("send prome finally fail: %v", finalErr)
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
logger.Infof("send to prome %s ok", cc.url.String())
|
|
|
|
logger.Infof("send to prome %s ok", cc.url.String())
|
|
|
|
}
|
|
|
|
}
|
|
|
|