Details
Description
Consider adding instrumentation to RecoverableZooKeeper that exposes metrics on the performance and health of the embedded ZooKeeper client: latency histograms for each op type, number of reconnections, number of ops where a reconnection was necessary to proceed, number of failed ops due to CONNECTIONLOSS, number of failed ops due to SESSIONEXIPRED, number of failed ops due to OPERATIONTIMEOUT.
RecoverableZooKeeper is a class in hbase-client so we can hook up the new metrics to both client- and server-side metrics reporters. Probably this metrics source should be a process singleton.