Skip to content
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

Crash loop: performance issues when loading large logs and (input and output) data clips #1872

Closed
christad92 opened this issue Mar 12, 2024 · 7 comments · Fixed by #2087
Closed
Assignees
Labels
bug Newly identified bug Feedback Feedback from implementations team or users User Reported This issue is a bug that was reported by a user

Comments

@christad92
Copy link

christad92 commented Mar 12, 2024

When inspecting jobs with the large logs and input/output data, there is a tendency for the system to become slow, laggy and in some cases, the browser breaks because of the volume of data being rendered.

https://www.loom.com/share/eaf9474757bd49aa9225a68c8a2e9ae5?sid=d15555cb-5a2a-4a6c-906e-0b5b3304decc

@christad92 christad92 added the Feedback Feedback from implementations team or users label Mar 12, 2024
@taylordowns2000 taylordowns2000 added the bug Newly identified bug label Mar 13, 2024
@christad92 christad92 changed the title Improve inspector performance when inspecting large logs and data clips Improve performance when loading large logs and (input and output) data clips Mar 13, 2024
@christad92
Copy link
Author

@christad92
Copy link
Author

christad92 commented May 8, 2024

When inspecting a step with a large input/output data clip, the page takes a moment to load and could possibly crash. See image below.

Image

Image

@christad92 christad92 changed the title Improve performance when loading large logs and (input and output) data clips Crash loop: performance issues when loading large logs and (input and output) data clips May 8, 2024
@christad92
Copy link
Author

How to replicate the latest issue :
when I click back and forth between Input and Output, the page either is really slow to load or even crashes.
when I click into Output it says No output state could be saved for this run. what does that mean? when/why does that happen?
Then I try clicking the step E0 Get Donors CSVs from SFTP and it takes so long for the inputs/outputs for this step to load

@midigofrank
Copy link
Collaborator

I had a discussion with @stuartc on this and the plan is to have a REST endpoint that returns a dataclip body which is then loaded using a react-window lib. This has been inspired by this blog: https://blog.logrocket.com/render-large-lists-react-5-methods-examples/

Also to consider is how we can do caching via http: https://developer.mozilla.org/en-US/docs/Web/HTTP/Caching#private_caches

@taylordowns2000
Copy link
Member

taylordowns2000 commented May 13, 2024

@midigofrank , @stuartc , great to hear progress on this one.

I'd like to note that a key bit of UX should be preserved in this solution and it may be hard to accomplish if I understand your current thinking:

  • When users go to look at a run with 40,000 lines of text, they'd like to be able to find a specific line using control-f in the browser or control-f in monaco.
  • How can we ensure that if only 1,000 lines are loaded at a time, they're still able to find the line that contains the string logging client id: aMidigoInAHaystack ?

@midigofrank
Copy link
Collaborator

@taylordowns2000 we've tested the react-window library and it seems we can't do a control-f because it renders the elements on demand.

We decided to give monaco a try since it provides it's own search interface.

@taylordowns2000
Copy link
Member

@midigofrank , standardizing all of our code interfaces (expression-editor, log-viewer, input/output-viewer, and input-creator) around Monaco feels like a win, anyway. Excited to hear how the spike here goes.

@christad92 christad92 added the User Reported This issue is a bug that was reported by a user label May 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Newly identified bug Feedback Feedback from implementations team or users User Reported This issue is a bug that was reported by a user
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

3 participants