jainankitk commented on PR #14413:
URL: https://github.com/apache/lucene/pull/14413#issuecomment-2774601593
> I'd have a top-level tree for everything related to initializing the
search and combining results (rewrite(), createWeight(),
CollectorManager#reduce) and then a list of trees for each slice.
While working on the code, I realized it is better to have list of slices
within the tree itself at each level, instead of repeating the query structure
and information across multiple trees. In this approach, we can easily view the
tree for specific `sliceId` using jq or simple script. The structure looks like
below:
```
"query": [ <-- for list of root queries
{
"type": "TermQuery",
"description": "foo:bar",
"startTime" : 11972972,
"totalTime": 354343,
"breakdown" : {.....}, <-- query level breakdown like
weight count and time
"sliceBreakdowns": [
{.....}, <-- first slice information
{.....}] <-- second slice information
"queryChildren": [
{......}, <-- recursive repetition of above structure
{......}]
```
> Related, it'd be nice if each per-slice object could also tell us about
the thread that it ran in and its start time so that we could understand how
exactly Lucene managed to parallelize the search.
Yes, that would be really useful. I have included the threadId as `sliceId`,
`startTime` and `totalTime` information for each slice object at every query
level.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]