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)