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

DAG Visualizer #25

Merged
Merged
Changes from 1 commit
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
314206a
feat: Render DAG visualization for runs from context button
Christopher-R-Perkins Jul 3, 2024
b19f48f
fix: prevent panel from opening multiple times, if button clicked mul…
ErikWiens Jul 5, 2024
d0d2308
feat: dag webview changed from pure svg to svg+html
Christopher-R-Perkins Jul 5, 2024
4dfbbe2
feat: changed nodes on dag to foreign objects instead of overlay
Christopher-R-Perkins Jul 6, 2024
05d0e38
feat: Dag now has orthagonal edges
Christopher-R-Perkins Jul 8, 2024
a38b967
feat: added pan and zoom to dag visualization
Christopher-R-Perkins Jul 8, 2024
9693a28
fix: prevent ignoring zenml config change due to debounce
Christopher-R-Perkins Jul 9, 2024
1e858e8
feat: add progress indicator for image loading in WebView panel
ErikWiens Jul 9, 2024
61702d4
feat: Added error notifcation for failed DAG data retrieval
Christopher-R-Perkins Jul 9, 2024
e124a88
feat: Dag hover node -> highlight edges
Christopher-R-Perkins Jul 9, 2024
40312b7
chore: Moved Dag Renderer to its own class.
Christopher-R-Perkins Jul 9, 2024
ec5dadf
feat: Added colored icons to DAG view
Christopher-R-Perkins Jul 9, 2024
83323a3
feat: Added ability to retrieve single pipeline run from ZenML client
Christopher-R-Perkins Jul 10, 2024
e2c4209
feat: Added dashboard url to server info
Christopher-R-Perkins Jul 10, 2024
974abe5
feat: Added ability to pull steps and artifacts via ZenML client
Christopher-R-Perkins Jul 10, 2024
ee8cf49
feat: Added ability to get DAG data from ZenML client
Christopher-R-Perkins Jul 10, 2024
ba6c307
feat: add update button to DAG panel if DAG run still running or init…
ErikWiens Jul 11, 2024
a17751e
feat: Changed update bar to title/update bar
Christopher-R-Perkins Jul 11, 2024
376b634
feat: Dag Node onclick goes to dashboard
Christopher-R-Perkins Jul 11, 2024
ee3173f
feat: Added ZenML Panel for data view with DAG step/artifact
Christopher-R-Perkins Jul 11, 2024
535d688
chore: Added Documentation To DAG view
Christopher-R-Perkins Jul 11, 2024
de7cd4c
fix: Pipeline Url now goes to new dashboard
Christopher-R-Perkins Jul 11, 2024
cf8d4f8
feat: Changed way node urls are accessed - now via panel or dbl click
Christopher-R-Perkins Jul 12, 2024
c46dfd2
feat: Sped up graph building by implementing own solution
Christopher-R-Perkins Jul 12, 2024
3ae30f1
feat: Packed webview js and updated security for it
Christopher-R-Perkins Jul 14, 2024
b9f8b03
feat: Added loading indicator when retrieving step/artifact in panel
Christopher-R-Perkins Jul 14, 2024
50989d9
feat: Updated readme with rundown of DAG visualization feature
Christopher-R-Perkins Jul 14, 2024
19dc93a
chore: removed unused imports
Christopher-R-Perkins Jul 14, 2024
38d77e9
chore: implemented code rabbit suggestions
Christopher-R-Perkins Jul 15, 2024
9c18b5c
chore: refactor DagRenderer.createView to fit code rabbit suggestions
Christopher-R-Perkins Jul 15, 2024
5594a86
chore: Moved messageHandler for webviewpanel into own method for read…
Christopher-R-Perkins Jul 15, 2024
e238f28
chore: Refactored createMessageHandler and added error logs as sugges…
Christopher-R-Perkins Jul 15, 2024
37007c9
Fix linting
strickvl Jul 16, 2024
d4d6a19
fix: Fixed initializing edges list as list, not dict in grapher
Christopher-R-Perkins Jul 16, 2024
68161cd
fix: updated context mock in activation test
Christopher-R-Perkins Jul 16, 2024
2760d9e
chore: Implemented Alex's notes from code review
Christopher-R-Perkins Jul 16, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
feat: Updated readme with rundown of DAG visualization feature
  • Loading branch information
Christopher-R-Perkins committed Jul 14, 2024
commit 50989d9a0cdbce7c77b01219d5e732071832f9da
13 changes: 13 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -31,6 +31,19 @@ this extension and your Python version needs to be 3.8 or greater.
- **Pipeline Runs**: Monitor and manage pipeline runs, including deleting runs from the system and rendering DAGs.
- **Environment Information**: Get detailed snapshots of the development environment, aiding troubleshooting.

### DAG Rendering
strickvl marked this conversation as resolved.
Show resolved Hide resolved

![](resources/zenml-extension-dag.gif)
strickvl marked this conversation as resolved.
Show resolved Hide resolved

- **Directed Acyclic Graph rendering**
- click on the Render Dag context action(labeled 1 in above image) next to the pipeline run you want to render. This will render the DAG in the editor window.
strickvl marked this conversation as resolved.
Show resolved Hide resolved
- **Graph manuevering**
- Panning the graph can be done by clicking and dragging anywhere on the graph.
- Zooming can be controlled by the mousewheel, the control panel(labeled 2 in the above graph) or double clicking anywhere there is not a node.
strickvl marked this conversation as resolved.
Show resolved Hide resolved
- Mousing over a node will highlight all edges being output by that node
- Clicking a node will display the data related to it in the ZenML panel view(labeled 3 in the above image)
strickvl marked this conversation as resolved.
Show resolved Hide resolved
- Double clicking a node will open the dashboard in a web browser to either the pipeline run or the artifact version.

## Requirements

- **ZenML Installation:** ZenML needs to be installed in the local Python environment associated with the Python interpreter selected in the current VS Code workspace. This extension interacts directly with your ZenML environment, so ensuring that ZenML is installed and properly configured is essential.
Binary file added resources/zenml-extension-dag.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.