You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Mujtaba Chohan (JIRA)" <ji...@apache.org> on 2014/07/30 21:12:40 UTC

[jira] [Comment Edited] (PHOENIX-177) Collect usage and performance metrics

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

Mujtaba Chohan edited comment on PHOENIX-177 at 7/30/14 7:11 PM:
-----------------------------------------------------------------

[~jesse_yates] Getting the following error with Hadoop1 on connection. (HBase 0.98.1-hadoop1 on server side). org.apache.phoenix.trace.PhoenixSpanReceiver in available on server and client classpath.

ERROR jdbc.PhoenixConnection: Tracing will outputs will not be written to any metrics sink! No TraceMetricsSink found on the classpath
java.lang.RuntimeException: Could not create  interface org.apache.phoenix.trace.PhoenixSpanReceiver Is the hadoop compatibility jar on the classpath?
	at org.apache.hadoop.hbase.CompatibilityFactory.getInstance(CompatibilityFactory.java:60)
	at org.apache.phoenix.trace.TracingCompat.newTraceMetricSource(TracingCompat.java:40)
	at org.apache.phoenix.jdbc.PhoenixConnection.<clinit>(PhoenixConnection.java:133)
	at org.apache.phoenix.query.ConnectionQueryServicesImpl$9.call(ConnectionQueryServicesImpl.java:1462)
	at org.apache.phoenix.query.ConnectionQueryServicesImpl$9.call(ConnectionQueryServicesImpl.java:1431)
	at org.apache.phoenix.util.PhoenixContextExecutor.call(PhoenixContextExecutor.java:77)
	at org.apache.phoenix.query.ConnectionQueryServicesImpl.init(ConnectionQueryServicesImpl.java:1431)
	at org.apache.phoenix.jdbc.PhoenixDriver.getConnectionQueryServices(PhoenixDriver.java:132)
	at org.apache.phoenix.jdbc.PhoenixEmbeddedDriver.connect(PhoenixEmbeddedDriver.java:126)
	at java.sql.DriverManager.getConnection(DriverManager.java:615)
	at java.sql.DriverManager.getConnection(DriverManager.java:167)
	at org.apache.phoenix.util.PhoenixRuntime.main(PhoenixRuntime.java:138)
Caused by: java.util.NoSuchElementException
	at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:357)
	at java.util.ServiceLoader$1.next(ServiceLoader.java:445)
	at org.apache.hadoop.hbase.CompatibilityFactory.getInstance(CompatibilityFactory.java:46)
	... 11 more



was (Author: mujtabachohan):
[~jesse_yates] Getting the following error with Hadoop1 on connection. (HBase 0.98.1-hadoop1 on server side)

ERROR jdbc.PhoenixConnection: Tracing will outputs will not be written to any metrics sink! No TraceMetricsSink found on the classpath
java.lang.RuntimeException: Could not create  interface org.apache.phoenix.trace.PhoenixSpanReceiver Is the hadoop compatibility jar on the classpath?
	at org.apache.hadoop.hbase.CompatibilityFactory.getInstance(CompatibilityFactory.java:60)
	at org.apache.phoenix.trace.TracingCompat.newTraceMetricSource(TracingCompat.java:40)
	at org.apache.phoenix.jdbc.PhoenixConnection.<clinit>(PhoenixConnection.java:133)
	at org.apache.phoenix.query.ConnectionQueryServicesImpl$9.call(ConnectionQueryServicesImpl.java:1462)
	at org.apache.phoenix.query.ConnectionQueryServicesImpl$9.call(ConnectionQueryServicesImpl.java:1431)
	at org.apache.phoenix.util.PhoenixContextExecutor.call(PhoenixContextExecutor.java:77)
	at org.apache.phoenix.query.ConnectionQueryServicesImpl.init(ConnectionQueryServicesImpl.java:1431)
	at org.apache.phoenix.jdbc.PhoenixDriver.getConnectionQueryServices(PhoenixDriver.java:132)
	at org.apache.phoenix.jdbc.PhoenixEmbeddedDriver.connect(PhoenixEmbeddedDriver.java:126)
	at java.sql.DriverManager.getConnection(DriverManager.java:615)
	at java.sql.DriverManager.getConnection(DriverManager.java:167)
	at org.apache.phoenix.util.PhoenixRuntime.main(PhoenixRuntime.java:138)
Caused by: java.util.NoSuchElementException
	at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:357)
	at java.util.ServiceLoader$1.next(ServiceLoader.java:445)
	at org.apache.hadoop.hbase.CompatibilityFactory.getInstance(CompatibilityFactory.java:46)
	... 11 more


> Collect usage and performance metrics
> -------------------------------------
>
>                 Key: PHOENIX-177
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-177
>             Project: Phoenix
>          Issue Type: Sub-task
>    Affects Versions: 5.0.0, 4.1
>            Reporter: ryang-sfdc
>            Assignee: Jesse Yates
>              Labels: enhancement
>             Fix For: 5.0.0, 4.1
>
>         Attachments: phoenix-177-4.0.patch, phoenix-177-master-v0.patch, phoenix-177-master.patch
>
>
> I'd like to know how much cpu, physical io, logical io, wait time, blocking time, transmission time was spent for each thread of execution across the hbase cluster, within coprocessors, and within the client's phoenix threadpools for each query.
> Here are some of the problems I want to solve:
> 1) every component has one or more configurable threadpools, and I have no idea how to gather data to make any decisions.
> 2) queries that I think should be fast turn out to be dog slow, e.g., select foo from bar where foo like 'abc%' group by foo Without attaching a profiler to hbase, which most people won't bother with, it's not clear why it's slow.



--
This message was sent by Atlassian JIRA
(v6.2#6252)