Support Questions
Find answers, ask questions, and share your expertise

Phoenix Metrics - How to understand

Phoenix Metrics - How to understand

New Contributor

Phoenix provides metrics to understand insights during execution of a SQL query both at individual SQL and client JVM level, I want to check if there any document explaining what a each metric mean and what indicates a query execution went fine or had issues. for eg:

below are the Queries in sequence that were fired using a standalone program with metrics response in a hbase cluster with phoenix

Query Start Time: 2018-09-04 09:10:58,536
Query End Time: 2018-09-04 09:12:52,932
Time taken to query: ~ 2minutes

Below are the phoenix metrics

Mutation Write Metrings
PhoenixRuntime.getWriteMetricsForMutationsSinceLastReset(connection)
>>>
{UPSRT_TABLE={MUTATION_COMMIT_TIME=9325278, MUTATION_BATCH_SIZE=8097788, MUTATION_BYTES=23708733912}}

Mutation Read Metrings
PhoenixRuntime.getReadMetricsForMutationsSinceLastReset(connection)
>>>
{SLET_TABLE={TASK_QUEUE_WAIT_TIME=29384207, SCAN_BYTES=17973054976, TASK_END_TO_END_TIME=41399954, TASK_EXECUTED_COUNTER=712, TASK_EXECUTION_TIME=12015738, TASK_REJECTED_COUNTER=0}}

Global Metrics
PhoenixRuntime.getGlobalPhoenixClientMetrics()
>>>
MUTATION_BATCH_SIZE :: 8097788
MUTATION_BYTES :: 23708733912
MUTATION_COMMIT_TIME :: 9325278
QUERY_TIME :: 0
NUM_PARALLEL_SCANS :: 712
SCAN_BYTES :: 17973054976
SPOOL_FILE_SIZE :: 0
MEMORY_CHUNK_BYTES :: 0
MEMORY_WAIT_TIME :: 0
TASK_QUEUE_WAIT_TIME :: 29384207
TASK_END_TO_END_TIME :: 41399954
TASK_EXECUTION_TIME :: 12015738
MUTATION_SQL_COUNTER :: 95
SELECT_SQL_COUNTER :: 0
TASK_EXECUTED_COUNTER :: 712
TASK_REJECTED_COUNTER :: 0
QUERY_TIMEOUT_COUNTER :: 0
QUERY_FAILED_COUNTER :: 0
SPOOL_FILE_COUNTER :: 0
OPEN_PHOENIX_CONNECTIONS_COUNTER :: 1

Q: How to understand below metrics

TASK_QUEUE_WAIT_TIME = 29384207 milliseconds (~490 minutes)
TASK_EXECUTION_TIME = 12015738 milliseconds (~200 minutes)
But query itself completed in ~ 2 minutes
It is also noticed that OPEN_PHOENIX_CONNECTIONS_COUNTER kept on increasing by 10 for each of the Query that is fired subsequently i.e. "OPEN_PHOENIX_CONNECTIONS_COUNTER = 11" , "OPEN_PHOENIX_CONNECTIONS_COUNTER = 21 " etc.,though there were no other noticeable logs indicating some error, w hat does this mean?