in metrics/utils.go [140:161]
func isConnectionError(err error) (string, bool) {
if err == nil {
return "", false
}
switch {
case isTimeoutError(err):
return err.Error(), true
case isConnectionRefused(err):
return syscall.ECONNREFUSED.Error(), true
case isConnectionResetByPeer(err):
return syscall.ECONNRESET.Error(), true
case errors.Is(err, io.ErrUnexpectedEOF):
return io.ErrUnexpectedEOF.Error(), true
case errors.Is(err, io.EOF):
return io.EOF.Error(), true
case strings.Contains(err.Error(), errTLSHandshakeTimeout.Error()):
return errTLSHandshakeTimeout.Error(), true
default:
return "", false
}
}