Page MenuHomePhabricator

Asset View Improvements
ClosedPublic

Authored by bengotow on Sun, Nov 15, 7:11 AM.

Details

Summary

This diff addresses a bunch of usability concerns with the asset detail page and adds some new features:

  • Event oriented lists / tables instead of run-oriented. Partition / execution time columns show the materialization data not the run data
  • Single strip of green boxes is replaced by a grid showing materialization events over time / partition with rows showing each metadata entry
  • Separate graphs for each numerical metadata entry that have synchronized hover states
  • Ability to toggle graphs on and off
  • Graphs no longer interpret ISO partition names (eg: 2020-04-01) as dates - the exact partition strings are displayed on the X axis
  • Improved linking to runs (goes directly to metadata event in the logs)

Loom walkthrough!
https://www.loom.com/share/0afedc3ffc0a45479ba6a8e9ae34d0e7

Test Plan

Evaluate new design, try with assets outside core examples repo

Diff Detail

Repository
R1 dagster
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

Harbormaster returned this revision to the author for changes because remote builds failed.Sun, Nov 15, 7:18 AM
Harbormaster failed remote builds in B21192: Diff 25707!

Self-review, split components and rm GraphQL fragments that don't map to components

Interested to get @max 's take too and to get this going on a dbt installation to make sure it all makes sense

Really digging the event-granularity rather than the run granularity.

dish added inline comments.
js_modules/dagit/src/assets/AssetMaterializationTable.tsx
80

I noticed that the tag is inadvertently being given monospace, so I think the font style should only be applied to the link.

This revision is now accepted and ready to land.Mon, Nov 16, 5:24 PM

Awesome!

A few thoughts:

  • I love having the metadata for the last materialization event at the top left.
  • Not sure how organize this visually, but I think it would be helpful to include the solid name along with the pipeline name.
  • We can have multiple runs for the same partition. How will that play out in the graphs? I would guess that, in most cases, the user will care about the most recent value, because that represents what's actually in the external asset for that partition.
  • When none of the events have partitions on them, will we hide the "By Partition" option?
  • I think of right/left scrolling as kinda awkward. Not a blocking concern, but something to think about.

for whatever reason getting this error when running locally

for whatever reason getting this error when running locally

Hmm I must have done my stacked diffs incorrectly somehow - I've landed that diff though, so now you should be able to patch only these changes and everything should work!

js_modules/dagit/src/assets/AssetMaterializationTable.tsx
80

Ahh good catch will fix!

  • Fix retina rendering of the sparklines
  • Expose stepStats for related step, add elapsed time to charts / matrix
This revision was automatically updated to reflect the committed changes.