Skip to content

Filter entities in the UI (part 9): Support / in queries #8933

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

Merged
merged 13 commits into from
Feb 5, 2025

Conversation

abey79
Copy link
Member

@abey79 abey79 commented Feb 5, 2025

Related

What

This PR supports / in filter query. Semantics are now as follows:

  • Queries are made of whitespace separated keyword.
  • Paths are not matched unless they match all keywords individually at least once.
  • Keywords may have 1 or more / separated "parts".
  • Single part keyword behave as before: paths are matched if they contain that keyword anywhere at least once.
  • Single part keyword can now be prefixed and/or postfixed with a slash, eg. "/fir". In that case, the keyword part must be found at the beginning and/or end of at least one path part to match (e.g. "/fir" matches "/my/first/entity" but doesn't match "xxfire/entity").
  • Multi-part keyword (e.g. "a/b/c") match paths that contains corresponding, matching sequence of part (e.g. "/xxxxa/b/cxxxxx"). Such keywords can also be prefixed and/or postfixed with a "/", with the same semantics.
image

@abey79 abey79 added ui concerns graphical user interface include in changelog labels Feb 5, 2025
Copy link

github-actions bot commented Feb 5, 2025

Web viewer built successfully. If applicable, you should also test it:

  • I have tested the web viewer
Result Commit Link Manifest
2454249 https://rerun.io/viewer/pr/8933 +nightly +main

Note: This comment is updated whenever you push a commit.

Copy link
Member

@Wumpf Wumpf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pre-approved with comments during a call-based review.

absolutely love this, both result & execution

@abey79
Copy link
Member Author

abey79 commented Feb 5, 2025

Quick benchmark session

Blueprint panel

Test: air traffic data, default blueprint, add/maximize empty view (no time rendering), collapse time panel

query main this PR
none 0.8ms 0.8ms
"a" 1.0ms 2.3ms
"aft/0" n/a 1.1ms

Notes:

  • 3 views where all entities are present, so big tree.
  • "a" yields a lot of result

Time panel

Test: air traffic data, no view, uncollapse all in time panel

query main this PR
none 0.4ms 0.5ms
"a" 0.6ms 1.2ms
"aft/0" n/a 0.6ms

@abey79 abey79 merged commit 8bfa7f4 into main Feb 5, 2025
31 checks passed
@abey79 abey79 deleted the antoine/filt9-slash-in-query branch February 5, 2025 15:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
include in changelog ui concerns graphical user interface
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Properly support / in filter queries
2 participants