func isConnectionError()

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
	}
}