[3/3] git commit: PHOENIX-177: Collect usage and performance metrics

2014-07-28 Thread jyates
PHOENIX-177: Collect usage and performance metrics

Add basic Dapper-like tracing (using Cloudera's HTrace library)
to phoenix requests. This is the basic infrastructure to
support more holistic, non-profiler based analysis.

This patch includes, among other things, the
infrastructure to use HTrace, async-tracing handling
via the Hadoop metrics2 framework, and trace read/write
to a phoenix table.

Currently, do NOT support Hadoop1 (though does work
against Hadoop1).

Default builds to hadoop2, rather than hadoop1 (particularly as hadoop1 is
now a second-class citizen).


Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/b7f46c10
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/b7f46c10
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/b7f46c10

Branch: refs/heads/master
Commit: b7f46c1051de3e23630dccb82677a0a16985f27c
Parents: 9185f76
Author: Jesse Yates 
Authored: Fri Jun 6 16:11:32 2014 -0700
Committer: Jesse Yates 
Committed: Mon Jul 28 06:37:49 2014 -0700

--
 phoenix-core/pom.xml|  47 +--
 .../apache/phoenix/trace/BaseTracingTestIT.java | 117 ++
 .../phoenix/trace/DelegatingConnection.java | 328 +++
 .../phoenix/trace/DisableableMetricsWriter.java |  83 
 .../trace/Hadoop1TracingTestEnabler.java|  86 
 .../apache/phoenix/trace/PhoenixMetricImpl.java |  44 ++
 .../phoenix/trace/PhoenixMetricRecordImpl.java  |  71 
 .../trace/PhoenixTableMetricsWriterIT.java  | 119 ++
 .../apache/phoenix/trace/PhoenixTagImpl.java|  52 +++
 .../phoenix/trace/PhoenixTracingEndToEndIT.java | 401 +++
 .../apache/phoenix/trace/TraceReaderTest.java   | 181 +
 .../org/apache/phoenix/call/CallRunner.java |  66 +++
 .../org/apache/phoenix/call/CallWrapper.java|  29 ++
 .../coprocessor/BaseScannerRegionObserver.java  |  36 +-
 .../coprocessor/DelegateRegionScanner.java  |  78 
 .../apache/phoenix/execute/BasicQueryPlan.java  |  17 +-
 .../apache/phoenix/execute/MutationState.java   |  24 +-
 .../org/apache/phoenix/hbase/index/Indexer.java |  39 ++
 .../phoenix/iterate/ParallelIterators.java  |   5 +-
 .../apache/phoenix/jdbc/PhoenixConnection.java  |  38 +-
 .../apache/phoenix/jdbc/PhoenixStatement.java   |  25 +-
 .../trace/PhoenixTableMetricsWriter.java| 255 
 .../org/apache/phoenix/trace/TraceReader.java   | 375 +
 .../apache/phoenix/trace/TracingIterator.java   |  58 +++
 .../trace/util/ConfigurationAdapter.java|  56 +++
 .../org/apache/phoenix/trace/util/NullSpan.java | 112 ++
 .../org/apache/phoenix/trace/util/Tracing.java  | 282 +
 .../phoenix/util/PhoenixContextExecutor.java|  23 ++
 .../java/org/apache/phoenix/util/QueryUtil.java |  29 ++
 .../test/resources/hadoop-metrics2.properties   |  25 ++
 .../src/test/resources/log4j.properties |   4 +-
 phoenix-hadoop-compat/pom.xml   |  31 +-
 .../org/apache/phoenix/metrics/MetricInfo.java  |  51 +++
 .../org/apache/phoenix/metrics/Metrics.java |  39 ++
 .../apache/phoenix/metrics/MetricsManager.java  |  58 +++
 .../apache/phoenix/metrics/MetricsWriter.java   |  31 ++
 .../phoenix/metrics/PhoenixAbstractMetric.java  |  30 ++
 .../phoenix/metrics/PhoenixMetricTag.java   |  27 ++
 .../phoenix/metrics/PhoenixMetricsRecord.java   |  35 ++
 .../phoenix/trace/PhoenixSpanReceiver.java  |  26 ++
 .../phoenix/trace/TestableMetricsWriter.java|  30 ++
 .../org/apache/phoenix/trace/TracingCompat.java |  94 +
 .../org/apache/phoenix/metrics/LoggingSink.java |  56 +++
 .../phoenix/metrics/TracingTestCompat.java  |  45 +++
 phoenix-hadoop2-compat/pom.xml  |  47 ++-
 .../phoenix/metrics/MetricsManagerImpl.java |  71 
 .../apache/phoenix/trace/MetricsInfoImpl.java   |  63 +++
 .../phoenix/trace/PhoenixMetricsWriter.java | 176 
 .../apache/phoenix/trace/TraceMetricSource.java | 192 +
 .../org.apache.phoenix.metrics.MetricsManager   |   1 +
 ...org.apache.phoenix.trace.PhoenixSpanReceiver |   1 +
 ...g.apache.phoenix.trace.TestableMetricsWriter |   1 +
 .../metrics2/impl/ExposedMetricCounterLong.java |  35 ++
 .../metrics2/impl/ExposedMetricsRecordImpl.java |  43 ++
 .../metrics2/lib/ExposedMetricsInfoImpl.java|  32 ++
 .../phoenix/trace/PhoenixMetricsWriterTest.java | 142 +++
 .../org/apache/phoenix/trace/TracingTest.java   |  34 ++
 pom.xml |  40 +-
 58 files changed, 4479 insertions(+), 57 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/b7f46c10/phoenix-core/pom.xml
--
diff --git a/phoenix-core/pom.xml b/phoenix-core/pom.xml
index f5c3ace..cfdee95 100644
--- a/p

[3/3] git commit: PHOENIX-177: Collect usage and performance metrics

2014-07-28 Thread jyates
PHOENIX-177: Collect usage and performance metrics

Add basic Dapper-like tracing (using Cloudera's HTrace library)
to phoenix requests. This is the basic infrastructure to
support more holistic, non-profiler based analysis.

This patch includes, among other things, the
infrastructure to use HTrace, async-tracing handling
via the Hadoop metrics2 framework, and trace read/write
to a phoenix table.

Currently, do NOT support Hadoop1 (though does work
against Hadoop1).

Default builds to hadoop2, rather than hadoop1 (particularly as hadoop1 is
now a second-class citizen).


Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/e8def027
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/e8def027
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/e8def027

Branch: refs/heads/4.0
Commit: e8def027a9c60e978ac79acbc6c71979e7478a43
Parents: 083c5f2
Author: Jesse Yates 
Authored: Fri Jun 6 16:11:32 2014 -0700
Committer: Jesse Yates 
Committed: Mon Jul 28 06:38:20 2014 -0700

--
 phoenix-core/pom.xml|  47 +--
 .../apache/phoenix/trace/BaseTracingTestIT.java | 117 ++
 .../phoenix/trace/DelegatingConnection.java | 328 +++
 .../phoenix/trace/DisableableMetricsWriter.java |  83 
 .../trace/Hadoop1TracingTestEnabler.java|  86 
 .../apache/phoenix/trace/PhoenixMetricImpl.java |  44 ++
 .../phoenix/trace/PhoenixMetricRecordImpl.java  |  71 
 .../trace/PhoenixTableMetricsWriterIT.java  | 119 ++
 .../apache/phoenix/trace/PhoenixTagImpl.java|  52 +++
 .../phoenix/trace/PhoenixTracingEndToEndIT.java | 401 +++
 .../apache/phoenix/trace/TraceReaderTest.java   | 181 +
 .../org/apache/phoenix/call/CallRunner.java |  66 +++
 .../org/apache/phoenix/call/CallWrapper.java|  29 ++
 .../coprocessor/BaseScannerRegionObserver.java  |  36 +-
 .../coprocessor/DelegateRegionScanner.java  |  78 
 .../apache/phoenix/execute/BasicQueryPlan.java  |  17 +-
 .../apache/phoenix/execute/MutationState.java   |  24 +-
 .../org/apache/phoenix/hbase/index/Indexer.java |  39 ++
 .../phoenix/iterate/ParallelIterators.java  |   5 +-
 .../apache/phoenix/jdbc/PhoenixConnection.java  |  38 +-
 .../apache/phoenix/jdbc/PhoenixStatement.java   |  25 +-
 .../trace/PhoenixTableMetricsWriter.java| 255 
 .../org/apache/phoenix/trace/TraceReader.java   | 375 +
 .../apache/phoenix/trace/TracingIterator.java   |  58 +++
 .../trace/util/ConfigurationAdapter.java|  56 +++
 .../org/apache/phoenix/trace/util/NullSpan.java | 112 ++
 .../org/apache/phoenix/trace/util/Tracing.java  | 282 +
 .../phoenix/util/PhoenixContextExecutor.java|  23 ++
 .../java/org/apache/phoenix/util/QueryUtil.java |  29 ++
 .../test/resources/hadoop-metrics2.properties   |  25 ++
 .../src/test/resources/log4j.properties |   4 +-
 phoenix-hadoop-compat/pom.xml   |  29 +-
 .../org/apache/phoenix/metrics/MetricInfo.java  |  51 +++
 .../org/apache/phoenix/metrics/Metrics.java |  39 ++
 .../apache/phoenix/metrics/MetricsManager.java  |  58 +++
 .../apache/phoenix/metrics/MetricsWriter.java   |  31 ++
 .../phoenix/metrics/PhoenixAbstractMetric.java  |  30 ++
 .../phoenix/metrics/PhoenixMetricTag.java   |  27 ++
 .../phoenix/metrics/PhoenixMetricsRecord.java   |  35 ++
 .../phoenix/trace/PhoenixSpanReceiver.java  |  26 ++
 .../phoenix/trace/TestableMetricsWriter.java|  30 ++
 .../org/apache/phoenix/trace/TracingCompat.java |  94 +
 .../org/apache/phoenix/metrics/LoggingSink.java |  56 +++
 .../phoenix/metrics/TracingTestCompat.java  |  45 +++
 phoenix-hadoop2-compat/pom.xml  |  45 +++
 .../phoenix/metrics/MetricsManagerImpl.java |  71 
 .../apache/phoenix/trace/MetricsInfoImpl.java   |  63 +++
 .../phoenix/trace/PhoenixMetricsWriter.java | 176 
 .../apache/phoenix/trace/TraceMetricSource.java | 192 +
 .../org.apache.phoenix.metrics.MetricsManager   |   1 +
 ...org.apache.phoenix.trace.PhoenixSpanReceiver |   1 +
 ...g.apache.phoenix.trace.TestableMetricsWriter |   1 +
 .../metrics2/impl/ExposedMetricCounterLong.java |  35 ++
 .../metrics2/impl/ExposedMetricsRecordImpl.java |  43 ++
 .../metrics2/lib/ExposedMetricsInfoImpl.java|  32 ++
 .../phoenix/trace/PhoenixMetricsWriterTest.java | 142 +++
 .../org/apache/phoenix/trace/TracingTest.java   |  34 ++
 pom.xml |  40 +-
 58 files changed, 4477 insertions(+), 55 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/e8def027/phoenix-core/pom.xml
--
diff --git a/phoenix-core/pom.xml b/phoenix-core/pom.xml
index 5f55e29..af6dcb6 100644
--- a/phoe