-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Review ways of speeding up the ESI UI #602
Comments
@tzumainn 8 story points seem large for a research issue, I suggest time boxing initial research to 2-3 points and then creating new issues once initial research is done based on the outcome of initial research. |
I talked to @sheldor1510 about this issue previously, listed several vaguely plausible ways this might be accomplished, and how it would definitely take a chunk of time to figure out. 2-3 points feels very low to me! |
I am not suggesting that the whole issue shrinks. The idea is 2-3 story points to get initial research done and then create more issues equaling maybe even more than 8 but at least the initial one will be small enough to decide on the initial direction to go. The point is to try to keep issues within one sprint as much as possible. If we think it will take more than one sprint it is best to break into multiple issues. |
Two ways I can think of speeding up the ui:
|
I'm curious about the websockets solution - can you expand on the implementation? |
I think that the main slow user experience comes from navigating to a page and having to wait 10+ seconds for the table to load. Currently, every page navigation needs to establish a new connection to the Django backend, the backend will have to make several requests to esi-leap, esisdk, etc., and then send the data back to the client. I am proposing to use websockets so only one persistent duplex connection is established. The Django backend will have a websocket port listening for connections. As soon as the user logs in to the dashboard regardless if it's an esi-ui panel or not, the frontend will establish a websocket connection in When the user logs in, the first iteration of getting data might be slow, but all page navigations after will be faster since the data is cached in esi.service.js. For now, other actions like provisioning, network operations, etc. will be using the already existing HTTP requests. |
that sounds like a pretty good idea - would you like to work on a proof-of-concept? I can create a new issue if so. |
Yep, I can work on a proof-of-concept. A new issue would be great. |
Followup issue created: #626 |
Can we cache data? Other ideas?
The text was updated successfully, but these errors were encountered: