[dagit] Use Python event types in log filter view


[dagit] Use Python event types in log filter view

This diff aims to improve the clarity of type filtering in the logs view on a Run.

Currently, each log event has a "type", but our filter suggestions don't clearly map to the various displayed types, and many of the event types cannot be chosen at all. In master, we currently support ['expectation', 'materialization', 'engine', 'input', 'output', 'pipeline'], and we just do a string search to see if the string appears anywhere in the GraphQL typename. This behavior exists at an unusual intersection of _limited_, _confusing_, and _magical_.

Moreover, the displayed English strings in the tags aren't themselves searchable -- you kind of have to guess what to type in in order to get the right suggestion and subsequent filtered view.

Instead, I propose that we align all of the "type" values:

  • The DagsterEventType python enum
  • The text displayed in the tag on the logs table in Dagit
  • The filter suggestions in the logs filter input

Specifically, the python enum values will be exposed and rendered. The English strings will be replaced with the specific python values.

I'd then type type: and get the entire list of event type values, each of which correspond exactly to what is displayed on the log rows.

Test Plan: Load Dagit, view a Run. Use type: filter in logs table, verify correct suggestions and filtering behavior upon selection. Verify that the python values themselves are what appear in the log row tags.

Reviewers: bengotow, prha, sashank

Reviewed By: bengotow

Subscribers: alangenfeld, schrockn

Differential Revision: https://dagster.phacility.com/D6572


dishAuthored on Feb 18 2021, 2:35 PM
Differential Revision
D6572: [dagit] Use Python event types in log filter view
R1:10407b31cd64: [dagit] Simplify logs filtering input