[jira] [Commented] (SOLR-12880) Show the FacetProcessor class name instead of the FacetRequest in the JSON Facets debug-trace output

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Commented] (SOLR-12880) Show the FacetProcessor class name instead of the FacetRequest in the JSON Facets debug-trace output

JIRA jira@apache.org

    [ https://issues.apache.org/jira/browse/SOLR-12880?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16680203#comment-16680203 ]

Tim Underwood commented on SOLR-12880:
--------------------------------------

[~hossman] Good catch.  I think both make sense.  Making the FacetHeatmap FacetProcessor class non-anonymous should make it easier to read in stack traces or if it shows up in memory profiling.  And adding a String getName() method that is used in the FacetRequest debug output makes it more explicit and easier override if needed for new FacetProcessor implementations.

I've updated the PR with both suggestions (and made note of what the previous diff looked like for reference).

 

> Show the FacetProcessor class name instead of the FacetRequest in the JSON Facets debug-trace output
> ----------------------------------------------------------------------------------------------------
>
>                 Key: SOLR-12880
>                 URL: https://issues.apache.org/jira/browse/SOLR-12880
>             Project: Solr
>          Issue Type: Bug
>      Security Level: Public(Default Security Level. Issues are Public)
>          Components: Facet Module
>    Affects Versions: 7.5
>            Reporter: Tim Underwood
>            Priority: Major
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> In the "facet-trace" debug output for the JSON facets the "processor" field current shows the class name of the FacetRequest implementation (e.g. FacetField, FacetQuery, FacetRange, etc.).  It seems like this would be more useful if it showed the FacetProcessor class being used instead (e.g. FacetFieldProcessorByArrayDV, FacetFieldProcessorByHashDV, FacetQueryProcessor, FacetRangeProcessor, etc.)
> Example of how it works today:
> {noformat}
> "debug": {
>   "facet-trace": {
>     "processor": FacetQuery "elapse": 50 "query": null "domainSize": 3296 "sub-facet": [{
>       processor = FacetField,
>       elapse = 18,
>       field = partTypeId,
>       limit = -1,
>       domainSize = 3296,
>       numBuckets = 392
>     }, {
>       processor = FacetField,
>       elapse = 25,
>       field = browseNodeId,
>       limit = -1,
>       domainSize = 3296,
>       numBuckets = 535
>     }]
>   }
> }
> {noformat}
> This is what showing the FacetProcessor class name would show:
> {noformat}
> "debug": {
>   "facet-trace": {
>     "processor": FacetQueryProcessor "elapse": 77 "query": null "domainSize": 3442 "sub-facet": [{
>       processor = FacetFieldProcessorByHashDV,
>       elapse = 3,
>       field = partTypeId,
>       limit = -1,
>       domainSize = 3442,
>       numBuckets = 407
>     }, {
>       processor = FacetFieldProcessorByHashDV,
>       elapse = 4,
>       field = browseNodeId,
>       limit = -1,
>       domainSize = 3442,
>       numBuckets = 553
>     }]
>   }
> }
> {noformat}
> Alternatively an additional debug field could be added with this information.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]