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
Web/UI: Folding large build logs #3499
Comments
Yes! FYI Also TravisCI offers the same folding by default. |
@marco-m didn't know that. It is super useful! |
I'd like to have more specific criteria for
as it's not totally clear to me from this example. If I had to guess, I'd say that this example is folding everything, but keeping 5 lines of context around any log line containing the word 'error'. I don't think we can reasonably assume that this is either necessary or sufficient to be considered "important information" in an arbitrary Concourse task. Another option would be to have 5 lines of context unfolded around any logs to Finally, perhaps simplest (and the only well-defined option I can think of) would be to do a slightly more dramatic version of what currently happens -- any successful steps are collapsed, and any erroring steps are expanded, but we could further fold all but the last few lines of an erroring step. @YoussB do you have any more context on how prow decides what to fold, or @marco-m any suggestion about how TravisCI folds by default? @Lindsayauchin |
@pivotal-jamie-klassen I got confused, it is travis-ci that folds by default :-) An example of travis folding is https://travis-ci.org/marco-m/QSyncthingTray/jobs/231902538. An example of circle ci is https://circleci.com/gh/RobustPerception/PushProx/21. I also agree this is difficult to get right. I think it is more important to get scrolling performance always fast, such as in #3521. |
@vito I am not sure if this would be possible, what if the folded part is not loaded from the db until @pivotal-jamie-klassen I agree with the erroring steps Vs. successful ones. From he looks of |
@YoussB Unfortunately we don't even know where the line boundaries are because events are stored as arbitrary chunks of data. More on that in #3521 (comment) |
At minimum could you "show the last XX lines of the task first?" We have long builds (cross-compile gcc) and the output kills client browsers. Tailing the last 50 lines (with a "view all" option) would at least cut down on data. |
@kallisti5 I am not sure "show the last XX lines of the task first?" is possible, vito explains why just above. As a workaorund, remember that you can always use |
@marco-m telling users to "use the cli" really isn't a great solution or workaround :-) As a temporary solution, what if we keep the currently running task "unexpanded" by default? The responsiveness greatly improves when concourse doesn't expand the text of the currently task by default. |
We have different definitions of "workaround" then. I am proposing you a workaround that you can use now. Feel free to propose a PR. |
My PR (#3894) kind of sucked since I don't have a ton of knowledge on the templating engine used. fly watch definitely shows the logs in real time better than the web ui, however for an open source project with 100's of people contributing, asking them all to install fly isn't realistic... thus using fly to look at logs isn't a realistic workaround. Now, once the build completes the web ui works as expected. It seems the "sending all the logs over and over, and redrawing them" is what really kills the performance. Is there a way to "slow down the reload of the logs proportionate to the log file size" as a short-term workaround? |
What challenge are you facing?
What would make this better?
errors
Let me know what you think?
The text was updated successfully, but these errors were encountered: