Make Flyte UI more customizable #3569
vkaiser-mb
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
FlyteConsole has the potential to be the main entry point for a user too see and analyze everything that is related to their workflow and task.
I really like the open interfaces and support of 3rd party in flyte, e.g., you can use any logging solution and configure the link.
But for the following usecases I cant find a good solution:
Usecase 1: Metric dashboard
As a user I want to see the consumption of compute resources (cpu, memory, gpu) of my task execution.
The visualization of the metrics will be done by a third party tool, e.g., cloud watch, grafana, ....
Usecase 2: ML specific Apps
Some workflows or tasks may be connected with other 3rd party tools, e.g. experiment tracking with W&B, Mlflow, ....
In case the task / workflow is of this type, there should be a link to access this third party apps.
Usecase 3: Generate convenience information, e.g.,
Generate kubectl command for e.g. attaching to a pod for debuging, e.g.
kubectl exec --stdin --tty <pod_name> -n <namespace> -- /bin/bash
and give a copy to clipboard function in the UI.Usecase 4: Links for specific input / output types,
If there is a path to a S3 bucket (e.g. as input of a task, or as output) I may want to have a look at it with a 3rd party tool, e.g. a S3 data browser or some kind of gallery app.
Similar arguments were raised some years ago here:
#146
Looking at the issue, it was closed due to the introduction of FlyteDeck, which cant handle the usecases described above in user-friendly way from my POV.
I created a very basic mockup and how I would image it:
From code-side I would image that you could implement the shown features like this:
Usecase 1:
Create a link type:
metrics_link = FlyteUILink(name="Metrics", url=http://www.some.url/pod_uuid={POD_UUI})
(There might be more types like "popup" or "accordion")
In any cases you would add this via the task annotation, e.g.
Usecase 2:
Depending on the task you are able to show different links.
Usecase 3:
We add a "accordion" UI element and the content is specified via a MD format.
Whenever there is a code part (">") we add a copy to clipboard button/icon next to the line.
Usecase 4:
The user can iterate over the input or output and add potentially multiple links how to forward the user.
This links could be shown aside with the already existing "copy to clipboard" icon. There is no mockup for this.
(Dont judge me on the logic of this function, this mainly to make an example.)
Usecase 1 a bit more fancy:
Lets make metric dashboard directly available as a panel, so the user can see the usage metrics without leaving the flyteconsole.
The user of course could partially bind the task function with default values and would not need to specify all this every time.
I hope you like the idea.
I would be open to help in the implementation and testing (would probably need some support to understand all the flyte code mechanics).
Best regards,
Vitali
Beta Was this translation helpful? Give feedback.
All reactions