-
Notifications
You must be signed in to change notification settings - Fork 544
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
[TraceQL] add support for event attribute query #3748
Conversation
13c9df6
to
e761187
Compare
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! Approving the doc changes.
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.
Great PR! I tested the event attributes locally and everything worked as expected.
I left a couple of comments for improvements
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.
fantastic work here. i think it's close, but i want to make an honest effort at this perf regression before merging.
I would like to see tests added to ./tempodb/tempodb_search_test.go:TestSearchCompleteBlock
And I would expect local manual testing using the local docker-compose to confirm things work as expected.
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.
o7
What this PR does: Add support for querying event attributes. In order to make this work, row numbers have been extended from having a length of 6 to a length of 8.
TLDR: 8 levels is faster than 7 levels
Final Benchmark
--- story time if you're interested in the investigation ---
When adding just one extra level (7 levels), the performance decreased dramatically and I originally thought it was just due to the memory allocation of the RowNumber going from length of 6 to length of 7.
But then, curiosity got me thinking... What if we drop to 5 levels? Would that increase our performance? (it didn't)
Then @stoewer suggested trying 8 levels...
Welp.
I also modified the truncate function to make it slightly more efficient
And the full comparison (8levels-fast = new truncate function)
Which issue(s) this PR fixes:
Fixes #
Checklist
CHANGELOG.md
updated - the order of entries should be[CHANGE]
,[FEATURE]
,[ENHANCEMENT]
,[BUGFIX]