Skip to content
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

[1/n] Asset graph sidebar #16447

Merged
merged 15 commits into from
Sep 20, 2023
Merged

[1/n] Asset graph sidebar #16447

merged 15 commits into from
Sep 20, 2023

Conversation

salazarm
Copy link
Contributor

@salazarm salazarm commented Sep 12, 2023

Summary & Motivation

https://www.loom.com/share/647d76108782411f8ef1c9b06f55eae5

This adds a sidebar to the left of the asset graph that makes it easier to navigate the asset graph without needing to scroll around. This is useful for cases where the asset graph is very large and it's hard to see the ancestors / descendants of a particular asset.

It would be nice if we could figure out how to combine this with the existing asset graph sidebar that shows up on the right side somehow so that there's only one sidebar.

I put minimal effort into the design for now since this is just a prototype I built to demonstrate one solution to the problem of navigating large asset graphs. Looking for input as to whether we should pursue this direction or not.

@github-actions
Copy link

github-actions bot commented Sep 12, 2023

Deploy preview for dagit-core-storybook ready!

✅ Preview
https://dagit-core-storybook-ftqo0psmz-elementl.vercel.app
https://salazarm-asset-sidebar.core-storybook.dagster-docs.io

Built with commit 224dedd.
This pull request is being automatically deployed with vercel-action

@schrockn
Copy link
Member

This is so exciting

@schrockn
Copy link
Member

It's important to test a massive fan-in case and see how it performs.

@salazarm
Copy link
Contributor Author

Added indent colors to make it easier to discern siblings/parents of a node at a glance.

Screenshot 2023-09-12 at 10 42 15 AM

@salazarm
Copy link
Contributor Author

@schrockn Will test right now, waiting for the asset graph to render though.

image

@petehunt
Copy link
Contributor

Is it possible for us to hide the asset graph when there are too many nodes, but still use this to navigate the asset graph? Maybe we only show direct upstreams/downstreams of the currently selected node and gradually reveal more as you navigate around

@salazarm
Copy link
Contributor Author

Is it possible for us to hide the asset graph when there are too many nodes, but still use this to navigate the asset graph? Maybe we only show direct upstreams/downstreams of the currently selected node and gradually reveal more as you navigate around

Yeah that is what I was imagining too as a next step!

@salazarm
Copy link
Contributor Author

@schrockn This is what it looks like with huge fan out https://www.loom.com/share/4629b7700ca0474185f70bfaee745160

@salazarm
Copy link
Contributor Author

salazarm commented Sep 12, 2023

Screenshot 2023-09-12 at 12 48 36 PM Screenshot 2023-09-12 at 12 48 31 PM

Added the popover to view upstream/downstream assets. We'll probably add more menu options here for giving more fine grained control to what's visible in the graph too.

@github-actions
Copy link

github-actions bot commented Sep 12, 2023

Deploy preview for dagit-storybook ready!

✅ Preview
https://dagit-storybook-pqfeuedx2-elementl.vercel.app
https://salazarm-asset-sidebar.components-storybook.dagster-docs.io

Built with commit 224dedd.
This pull request is being automatically deployed with vercel-action

@salazarm
Copy link
Contributor Author

Re: The slow asset graph we're thinking we can either fallback to a less pretty but much faster / virtualizable layout algorithm for large asset graphs. Or porting the layout algorithm to wasm something similar to https://cprimozic.net/blog/speeding-up-webcola-with-webassembly/

@bengotow
Copy link
Collaborator

Ahh I love it 🙌 ship ship ship!

re: asset graph, I think it might make sense to get this fully wired up and see how much it's helpful to have them side by side. Especially if we make the graph use a simpler layout algorithm, it might just be a boxier horizontal version of this vertical presentation? I could see letting this hierarchy go full screen and toggling the graph off entirely.

Also curious how this might interact with a graph of asset groups, since those are a bidirectional graph / less of a clean lineage. I'm sure we can figure it out though!

@salazarm salazarm force-pushed the salazarm/asset-sidebar branch from 32d2f5b to cb3353d Compare September 14, 2023 07:55
@schrockn
Copy link
Member

I think this could be absolutely transformative for observability and cataloging use cases. However I definitely want @braunjj to approve and slot this into a broader vision for navigation, and then make sure we aren't making any decisions here that we will regret.

@salazarm
Copy link
Contributor Author

@salazarm salazarm removed the request for review from erinkcochran87 September 14, 2023 13:48
@braunjj
Copy link
Contributor

braunjj commented Sep 14, 2023

I think this could be absolutely transformative for observability and cataloging use cases. However I definitely want @braunjj to approve and slot this into a broader vision for navigation, and then make sure we aren't making any decisions here that we will regret.

I am also very excited about this @schrockn and I'm working on exploring how this fits into a broader vision for the asset catalog and nav. Going to share a Loom later today. Let's plan to focus on this in Core-UI sync on monday.

@github-actions
Copy link

github-actions bot commented Sep 14, 2023

Deploy preview for dagster-docs ready!

Preview available at https://dagster-docs-k6haqfwdo-elementl.vercel.app
https://salazarm-asset-sidebar.dagster.dagster-docs.io

Direct link to changed pages:

@schrockn
Copy link
Member

I also see no reason why this couldn't be the interface to the asset catalog. Just make the right hand pane the asset details page.

@salazarm salazarm force-pushed the salazarm/asset-sidebar branch from 518c1e9 to 02bf6ce Compare September 15, 2023 05:42
@salazarm salazarm changed the title [RFC] Asset graph sidebar for improved navigation of large asset graphs [1/n] Asset graph sidebar Sep 15, 2023
salazarm and others added 6 commits September 18, 2023 10:51
## Summary & Motivation

Consolidate the group and code location filters to use our Filtering
component.


## How I Tested These Changes
<img width="335" alt="Screenshot 2023-09-15 at 1 50 53 AM"
src="https://github.com/dagster-io/dagster/assets/2286579/88cafb9d-1854-4cc3-90e9-d6dc8b203c03">
<img width="379" alt="Screenshot 2023-09-15 at 1 50 47 AM"
src="https://github.com/dagster-io/dagster/assets/2286579/ac918cf6-b0b4-4854-8991-4e48e90a0293">
<img width="289" alt="Screenshot 2023-09-15 at 1 50 45 AM"
src="https://github.com/dagster-io/dagster/assets/2286579/12942df9-358a-4ab3-ac7d-cdad1360bcb4">
@salazarm salazarm merged commit 27e5b66 into master Sep 20, 2023
2 checks passed
@salazarm salazarm deleted the salazarm/asset-sidebar branch September 20, 2023 16:48
prha pushed a commit that referenced this pull request Sep 20, 2023
## Summary & Motivation

https://www.loom.com/share/647d76108782411f8ef1c9b06f55eae5

This adds a sidebar to the left of the asset graph that makes it easier
to navigate the asset graph without needing to scroll around. This is
useful for cases where the asset graph is very large and it's hard to
see the ancestors / descendants of a particular asset.

It would be nice if we could figure out how to combine this with the
existing asset graph sidebar that shows up on the right side somehow so
that there's only one sidebar.

I put minimal effort into the design for now since this is just a
prototype I built to demonstrate one solution to the problem of
navigating large asset graphs. Looking for input as to whether we should
pursue this direction or not.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants