-
Notifications
You must be signed in to change notification settings - Fork 24.9k
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
Search profiling for fetch phases #75892
Comments
Pinging @elastic/es-search (Team:Search) |
I've been working on prototypes for other things for so long I needed to take some time to do something "contained" so I made a prototype:
|
Totally. I think that the only reason why it's not done today is that the query phase is a more common bottleneck, but I remember seeing cases in the past when the fetch phase was a bottleneck too, so +1 to add profiling to the fetch phase. |
Cool. I have a prototype. I hope to have a PR today.
…On Tue, Aug 31, 2021, 06:04 Adrien Grand ***@***.***> wrote:
Do folks think it'd be worth profiling the fetch phase?
Totally. I think that the only reason why it's not done today is that the
query phase is a more common bottleneck, but I remember seeing cases in the
past when the fetch phase was a bottleneck too, so +1 to add profiling to
the fetch phase.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#75892 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AABUXIWVKLG56SNWXGUYBR3T7SSLHANCNFSM5BIR2NEQ>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
|
This adds profiling to the fetch phase so we can tell when fetching is slower than we'd like and we can tell which portion of the fetch is slow. The output includes which stored fields were loaded, how long it took to load stored fields, which fetch sub-phases were run, and how long those fetch sub-phases took. Closes elastic#75892
This adds profiling to the fetch phase so we can tell when fetching is slower than we'd like and we can tell which portion of the fetch is slow. The output includes which stored fields were loaded, how long it took to load stored fields, which fetch sub-phases were run, and how long those fetch sub-phases took. Closes #75892 * Skip bwc * Don't compare fetch profiles * Use passed one * no npe * Do last rename * Move method down * serialization tests * Fix sneaky serialization * Test for sneaky bug * license header * Document * Fix test * newline * Restore assertion * unit test merging * Handle inner hits * Fixup * Revert unneeded * Revert inner hits profiling * Fix names * Fixup names * Move results building * Drop loaded_nested * Checkstyle * Fixup more * Finish writeable cleanup Add unit tests for merge * Remove null checking builder * Fix wire mistake How did this pass before?! * Rename * Remove funny builder * Remove name munging
This adds profiling to the fetch phase so we can tell when fetching is slower than we'd like and we can tell which portion of the fetch is slow. The output includes which stored fields were loaded, how long it took to load stored fields, which fetch sub-phases were run, and how long those fetch sub-phases took. Closes elastic#75892
This adds profiling to the fetch phase so we can tell when fetching is slower than we'd like and we can tell which portion of the fetch is slow. The output includes which stored fields were loaded, how long it took to load stored fields, which fetch sub-phases were run, and how long those fetch sub-phases took. Closes #75892
I was helping some folks to debug a thing this morning and we had questions about the fetch performance and I was sad that we didn't profile the fetch phase. And I realized I had the same issue a week ago when I was helping some other folks. And I'd had the issue many more times before that.
Do folks think it'd be worth profiling the fetch phase?
I know a big chunk of the fetch phase is spent loading stored fields needed by the other phases. But I don't know how much of the time is that vs time spent chewing on the data or on docvalue_fields or whatever.
The text was updated successfully, but these errors were encountered: