models-web-app icon indicating copy to clipboard operation
models-web-app copied to clipboard

Allow user to check logs for all containers

Open markwinter opened this issue 3 years ago • 10 comments

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.

image

markwinter avatar Nov 01 '21 06:11 markwinter

@kimwnasptd

Can you review this please?

markwinter avatar Nov 01 '21 06:11 markwinter

[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.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment Approvers can cancel approval by writing /approve cancel in a comment

kserve-oss-bot avatar Dec 23 '21 02:12 kserve-oss-bot

@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 avatar Feb 25 '22 15:02 kimwnasptd

@kimwnasptd Sorry for the long delay, this is now up to date with the latest master

markwinter avatar Jun 23 '22 05:06 markwinter

Thanks! Taking a look now

kimwnasptd avatar Jun 23 '22 15:06 kimwnasptd

@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:

  1. The Makefile
  2. The dockerfile
  3. The requirements.txt

For installing/using gevent?

kimwnasptd avatar Jun 24 '22 16:06 kimwnasptd

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: Screenshot 2022-06-28 at 14 23 49

What do you think?

StefanoFioravanzo avatar Jun 28 '22 12:06 StefanoFioravanzo

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.

StefanoFioravanzo avatar Jun 28 '22 12:06 StefanoFioravanzo

@markwinter Please rebase to master

juliusvonkohout avatar Jun 26 '24 12:06 juliusvonkohout

@juliusvonkohout Looks like been a few changes so I will get to rebasing this one some point soon.

markwinter avatar Jun 26 '24 13:06 markwinter