models-web-app
models-web-app copied to clipboard
Allow user to check logs for all containers
Currently the Logs tab only shows logs for the kserve-container
. For debugging it can be helpful to see the logs of other containers, especially the storage-initializer
.
The current Logs tab also loads the logs of every component all at once.
The current Logs tab also uses LatestReadyRevision
for checking logs. This means when the model server isn't in the ready state there will be no logs for debugging.
I have implemented a new tab system that lets the user check the logs for every init-container and container found for a pod.
I also changed it to check for LatestCreatedRevision
as this is more useful. In the future I might try to add another row that lets the user select a specific revision to see its logs
Logs are also only loaded for the selected container.
@kimwnasptd
Can you review this please?
[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: markwinter
To complete the pull request process, please assign yuzisun after the PR has been reviewed.
You can assign the PR to them by writing /assign @yuzisun
in a comment when ready.
The full list of commands accepted by this bot can be found here.
Approvers can indicate their approval by writing /approve
in a comment
Approvers can cancel approval by writing /approve cancel
in a comment
@markwinter I'm trying to rebase on top of the latest master, but I'm getting some merge conflicts.
Could you do one final rebase on top of the latest master?
@kimwnasptd Sorry for the long delay, this is now up to date with the latest master
Thanks! Taking a look now
@markwinter I think it's a good chance to use green threads for the backend, now that we will introduce requests that can take quite some time to wrap (like logs of the istio sidecar).
I wanted to move to gevent
for the rest of the KF apps as well https://github.com/kubeflow/kubeflow/issues/6454#issuecomment-1114171444, so let's do the same here to be consistent. Can you update:
- The Makefile
- The dockerfile
- The
requirements.txt
For installing/using gevent
?
Hey @markwinter thanks for the great contribution, exposing the logs from every component and container is definitely a very helpful feature.
I would suggest re-evaluating the UX of using nested tabs here, multiple nested tabs don't play that well together.
How about using a couple of select input fields instead? Something like this:
What do you think?
Also, I haven't read though the code carefully yet but I'll mention this: how are you retrieving the list of components and the list of containers? Is there some hardcoding going on or are you getting them from the CR? It's like to confirm that we are using the most dynamic approach as possible, in case we were to have new ISVC components or containers in the future.
@markwinter Please rebase to master
@juliusvonkohout Looks like been a few changes so I will get to rebasing this one some point soon.