Details
-
New Feature
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
There's very little visibility into the hbase client. Folks who care to add some kind of metrics collection end up wrapping Table method invocations with System.currentTimeMillis(). For a crude example of this, have a look at what I did in PerformanceEvaluation for exposing requests latencies up to IntegrationTestRegionReplicaPerf. The client is quite complex, there's a lot going on under the hood that is impossible to see right now without a profiler. Being a crucial part of the performance of this distributed system, we should have deeper visibility into the client's function.
I'm not sure that wiring into the hadoop metrics system is the right choice because the client is often embedded as a library in a user's application. We should have integration with our metrics tools so that, i.e., a client embedded in a coprocessor can report metrics through the usual RS channels, or a client used in a MR job can do the same.
I would propose an interface-based system with pluggable implementations. Out of the box we'd include a hadoop-metrics implementation and one other, possibly dropwizard/metrics.
Thoughts?
Attachments
Attachments
Issue Links
- is depended upon by
-
HBASE-14381 Expose client-side metrics via Connection API
- Open
- relates to
-
HBASE-10791 Add integration test to demonstrate performance improvement
- Closed
-
HBASE-5162 Basic client pushback mechanism
- Closed
-
HBASE-11062 hbtop
- Closed
-
PHOENIX-1452 Add Phoenix client-side logging and capture resource utilization metrics
- Closed
-
PHOENIX-1819 Build a framework to capture and report phoenix client side request level metrics
- Closed
-
HBASE-14692 IntegrationTestRegionReplicaPerf should consume client side metrics rather than self-monitor
- Open
-
ACCUMULO-3908 Instrument client API for metrics
- Resolved
-
HBASE-15242 Client metrics for retries and timeouts
- Resolved
-
HBASE-27540 Client metrics for success/failure counts.
- Resolved
-
HBASE-4145 Provide metrics for hbase client
- Closed
-
HBASE-13124 Option to collect latencies for individual requests
- Closed
-
HBASE-14693 Add client-side metrics for received pushback signals
- Closed
-
HBASE-3869 RegionServer metrics - add read and write byte-transfer statistics
- Closed
-
HBASE-7169 Adding latency counters to HTableMultiplexer
- Closed
-
HBASE-1095 Client historian
- Closed
-
HBASE-14534 Bump yammer/coda/dropwizard metrics dependency version
- Closed
- links to