-
Notifications
You must be signed in to change notification settings - Fork 11.8k
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
Traces: Span filtering #65725
Traces: Span filtering #65725
Conversation
You have successfully added a new CodeQL configuration |
Backend code coverage report for PR #65725 |
Frontend code coverage report for PR #65725
|
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.
Nice work getting this implemented Joey! Left a few comments and some questions, let me know if you want to discuss anything!
It feels like the filters take too much space, since they're all in a separate row. On one hand this matches what we have in the left-hand side for the query builder, but on the other hand it takes too much vertical space on the trace view, which is already hurting for space. Did you try with the filters arranged in a more horizontal way? Curious if the UX would be good.
public/app/features/explore/TraceView/components/TracePageHeader/NewTracePageHeader.tsx
Show resolved
Hide resolved
public/app/features/explore/TraceView/components/TracePageHeader/NewTracePageSearchBar.tsx
Show resolved
Hide resolved
public/app/features/explore/TraceView/components/TracePageHeader/NewTracePageSearchBar.tsx
Outdated
Show resolved
Hide resolved
public/app/features/explore/TraceView/components/TracePageHeader/NewTracePageSearchBar.tsx
Outdated
Show resolved
Hide resolved
public/app/features/explore/TraceView/components/TracePageHeader/SpanFilters/SpanFilters.tsx
Show resolved
Hide resolved
public/app/features/explore/TraceView/components/TracePageHeader/SpanFilters/SpanFilters.tsx
Show resolved
Hide resolved
public/app/features/explore/TraceView/components/TracePageHeader/SpanFilters/SpanFilters.tsx
Show resolved
Hide resolved
public/app/features/explore/TraceView/components/TracePageHeader/SpanFilters/SpanFilters.tsx
Outdated
Show resolved
Hide resolved
public/app/features/explore/TraceView/components/utils/filter-spans.tsx
Outdated
Show resolved
Hide resolved
Thanks for the review! With regards to rendering the inputs inline rather than under each other, I was torn here between saving space and making it easy for the user to scan the UI and modify the inputs they wanted. In the end, I felt that having the inputs places horizontally was too confusing as they were at unexpected horizontal positions and actually shifted as values were entered in the inputs. While it saves space it's difficult for the user to scan across and find the inputs they want. From a UX perspective this is quite messy and positions are variable. Vertically, they know exactly where the inputs will be. |
We can use CSS improve this and make it responsive to the size of the trace view. If width > x show the fields in a grid with 3 columns, else use 2 or 1 columns. We also need to make sure that they don't change positions while the values change, as you pointed out, the grid should take care of that. |
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.
Thank you for updating the doc. Sections look good. Very consistent ;) I made some wording and punctuation suggestions.
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.
Thank you for the changes! Approved 👍
* Filters * Service/span/duration filters * Renames for focused span and matches * Tag filters and new component * Tag filtering * Multiple tags and enable next/prev appropriately * Enum, renames, fixes * Clean up unecessary props * setFocusedSearchMatch * Faster options * Perf enhancements and cleanup * General improvements to tags etc * Updates to filtering * Add datasourceType in next/prev * Integrate TracePageSearchBar with NewTracePageSearchBar * Design tweaks * Update sticky elem and header design * Fix tests * Self review * Enhancements * More enhancements * Update tests * tests * More tests * Add span filters to docs * Update image link * Update docs * Update buttonEnabled and text * PR review * Update sticky header * Doc updates * Set values for service/span name * Buffer and dash update
What is this feature?
Adds span filtering for the trace view.
Why do we need this feature?
This feature allows users to filter down their trace view. This is especially helpful when the user has a large amount of traces from which they would like to find traces with specific span/operation names, duration ranges, tags etc.
Who is this feature for?
Tracing users.
Special notes for your reviewer:
You will need to set the
newTraceView
feature toggle to use span filtering.Span.filters.mov
Please check that: