Jan Fernando created PHOENIX-1452:
-------------------------------------

             Summary: Add logging to allow easier monitoring of client-side 
Thread Pool and Queue usage 
                 Key: PHOENIX-1452
                 URL: https://issues.apache.org/jira/browse/PHOENIX-1452
             Project: Phoenix
          Issue Type: Improvement
    Affects Versions: 5.0.0, 4.2
            Reporter: Jan Fernando


For performance testing and tuning of features that use Phoenix and for 
production monitoring it would be really helpful to easily be able to extract 
statistics about Phoenix's client-side Thread Pool and Queue Depth usage to 
help with tuning and being able to correlate the impact of tuning these 2 
parameters to query performance.

For global per JVM logging one of the following would meet my needs, with a 
preference for #2:
1. A simple log line that that logs the data in ThreadPoolExecutor.toString() 
at a configurable interval
2. Exposing the ThreadPoolExecutor metrics in PhoenixRuntime or other global 
client exposed class and allow client to do their own logging.

In addition to this it would also be really valuable to have a single log line 
per query that provides statistics about the level of parallelism i.e. number 
of parallel scans being executed. I don't full explain plan level of data but a 
good heuristic to be able to track over time how queries are utilizing the 
thread pool as data size grows etc. 




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to