matchtree: capture Stats before pruning #607
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
We now call updateStats upto twice per shard search. The intention of this is to capture statistics before pruning the matchtree. Previously we would of done work in creating a matchtree but would then prune those items away and would then never capture those statistics.
In practice that work was reading just one or two varint (the size of a posting list) so likely had minimal impact on the reported statistics. However, in the next commit we want to introduce a statistic which is recorded even if we generate a noMatchTree.
The main technical part of this commit is ensuring all existing updateStats functions can be called twice without overcounting.
Test Plan: go test
Part of https://github.com/sourcegraph/sourcegraph/issues/54950