Kedro-Viz flowchart timeline implementation brainstorm #1828
Replies: 3 comments
-
Proposed backend implementationI don't think any changes will be required on the framework side; all the implementation is on the kedro-viz side. I think we have everything we need in kedro core already thanks to the magic of the framework plugins system. 🎉 🚀 So long as you have done Here's what we'd need:
1. Generate pipeline json without launching kedro-viz serverEstimated difficulty: very easy Currently
As far as I can tell, there's actually no reason for the last step to execute here at all. So let's extract the necessary stages into a new function, The kedro framework One slight catch: we should maybe rethink how we deal with what happens if you run 2. Hook to generate the pipeline jsonEstimated difficulty: pretty easy We'll need a hook (or maybe hooks) that runs when you do Thoughts:
3. Configure where the pipeline json is savedEstimated difficulty: very easy to implement, but needs careful thought about right way to do it Two possible schemes here:
Either way, we'll probably want a new Need to consider:
4. Send a list of all pipeline json timestamps to frontend in kedro-vizEstimated difficulty: ok Kedro-Viz frontend will need a list of timestamps to show on the the timeline. This is very analogous to how experiment tracking gets a set of kedro run timestamps and metrics datasets (which uses both the session store and the versioned dataset files). Note: if I understand correctly where GraphQL is currently used in kedro-viz, I think this wouldn't be able to automatically insert a new blob on the timeline when a new run is done (you'd need to restart the server, or maybe the 5. Send a requested pipeline json to the frontend in kedro-vizEstimated difficulty: ok Kedro-Viz UI will request the server sends the pipeline json for a particular session_id. We need an endpoint that will handle this. Need to understand better exactly how the current endpoints work to figure out the best way to do this, but it doesn't sound too hard: should just be a case of retrieving the relevant pipeline json from the session store or file location and returning it. |
Beta Was this translation helpful? Give feedback.
-
More random thoughtsDo we want to show all the blobs on the timeline? Chances are that changes to the pipeline flowchart are much less frequent than |
Beta Was this translation helpful? Give feedback.
-
So this issue is back on the table because of the conversations around #1218, #1234 and more. I think we need to ground this in a problem question which is, "How might we allow our users to version their pipeline visualisation alongside their experiments?" |
Beta Was this translation helpful? Give feedback.
-
Context
Providing some sort of timeline view in kedro-viz has come up several times in the past:
Just to give a very rough idea of what I'm talking about, here's what was made in the hackathon:
This issue is for rough thoughts on how we might implement a simple timeline view in kedro-viz that keeps track of how the pipeline flowchart changes between
kedro run
s. It is meant to be an MVP, not a fully fledged timeline view with all the bells and whistles showing everything we might eventually want. The scope here is deliberately very restricted:"one-dimensional" means that, compared to the above picture, I'm not putting anything on the y axis. It's just a single x-axis line with blobs on it.
Things not considered here:
kedro run
These are all important points, and some of them seem like very obvious next steps for a timeline. But here I'm just jotting down current thoughts while they're fresh in my mind following a recent chat with @tynandebold.
Beta Was this translation helpful? Give feedback.
All reactions