-
Notifications
You must be signed in to change notification settings - Fork 37
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
chore(weave): Move call queries to the backend #1656
Conversation
Preview this PR with FeatureBee: https://beta.wandb.ai/?betaVersion=632834cca2b2bdab0693e8bac03cb86a94780450 |
weave-js/src/components/PagePanelComponents/Home/Browse3/pages/OpVersionsPage.tsx
Show resolved
Hide resolved
@@ -736,3 +826,71 @@ def get_base_object_class(val: Any) -> Optional[str]: | |||
elif "_class_name" in val: | |||
return val["_class_name"] | |||
return None | |||
|
|||
|
|||
def _quote_json_path(path: str) -> str: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In my experience, end users will absolutely do things like have "file.ext" or a string "123" as keys in an object. A dotted notation is very convenient for the common case but we may want to consider also supporting a more verbose traversal format like object[1]["file.ext"]["42"]
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added a summary of limitations here: 6f0e498 ... need to define this more crisply before opening up to public
}, [currentDynamicColumnNames, shouldIgnoreColumn]); | ||
|
||
useEffect(() => { | ||
if (resetDep) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does the same thing in either case?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yeah - i just want to trigger on changes to resetDep
. just putting resetDep
in the dep array is susceptible to linter removing. I commented. Perhaps there is a better way?
|
||
conditions.append(filter_cond) | ||
|
||
return conditions, raw_fields_used |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This file is getting really big - would be nice to split it up.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree - i actually did refactor this, then reverted: b6668ac#diff-121d8320484a693356428be5657e6b61d53f293f5c505f49e67ccc91ac09d5e3 ... i was just touching so many things that i thought it would be better to come back and split this file up after
Closing - all of this is now landed using smaller separate PRs! |
Meta Comments:
This PR pairs with https://github.com/wandb/core/pull/21622. To reviewers: I am going to split this PR into 2 parts after approval:
The rollout will be:
PR Overview:
This PR seeks to improve the performance of the CallsTable. It does so by moving the query layer (sorting, filtering, & paging) out of the MUIDataGrid and into the backend. Furthermore, it refactors ref expansion out of the component layer completely, and puts it in the network query layer (sets us up to move this to the backend next).
The benefits of this PR are:
User-facing changes:
attributes
,inputs
,output
, andsummary
are all handled exactly the same in the CallsTable now.Features Removed:
Note: I can add these back, but they have their own tradeoffs.
Backend Changes:
filter
can be passed tocalls/query
API Design Choices to Discuss
Future Features: