diff --git a/common/src/java/org/apache/hadoop/hive/common/metrics/common/MetricsConstant.java b/common/src/java/org/apache/hadoop/hive/common/metrics/common/MetricsConstant.java index d1ebe12f5c825c98799429b697ffe1fb398733c0..e8121c6319d8cf4db9f91a54edfa14810401995b 100644 --- a/common/src/java/org/apache/hadoop/hive/common/metrics/common/MetricsConstant.java +++ b/common/src/java/org/apache/hadoop/hive/common/metrics/common/MetricsConstant.java @@ -22,14 +22,21 @@ */ public class MetricsConstant { + public static String HIVE_ZK_CONNECTIONS = "hive_zookeeper_connections"; + public static String JVM_PAUSE_INFO = "jvm.pause.info-threshold"; public static String JVM_PAUSE_WARN = "jvm.pause.warn-threshold"; public static String JVM_EXTRA_SLEEP = "jvm.pause.extraSleepTime"; public static String OPEN_CONNECTIONS = "open_connections"; + public static String JDBCCLIENT_ZK_CONNECTIONS = "jdbcclient_zookeeper_connections"; + public static String JDO_ACTIVE_TRANSACTIONS = "active_jdo_transactions"; public static String JDO_ROLLBACK_TRANSACTIONS = "rollbacked_jdo_transactions"; public static String JDO_COMMIT_TRANSACTIONS = "committed_jdo_transactions"; public static String JDO_OPEN_TRANSACTIONS = "opened_jdo_transactions"; + + public static String METASTORE_HIVE_LOCKS = "metastore_hive_locks"; + public static String ZOOKEEPER_HIVE_LOCKS = "zookeeper_hive_locks"; } diff --git a/jdbc/src/java/org/apache/hive/jdbc/ZooKeeperHiveClientHelper.java b/jdbc/src/java/org/apache/hive/jdbc/ZooKeeperHiveClientHelper.java index 4712d2e69f1347d820e7164db3e1812b92f2035c..9063651ec3983f71153019837a1d1470d3eadab6 100644 --- a/jdbc/src/java/org/apache/hive/jdbc/ZooKeeperHiveClientHelper.java +++ b/jdbc/src/java/org/apache/hive/jdbc/ZooKeeperHiveClientHelper.java @@ -26,6 +26,9 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.apache.hadoop.hive.common.metrics.common.Metrics; +import org.apache.hadoop.hive.common.metrics.common.MetricsConstant; +import org.apache.hadoop.hive.common.metrics.common.MetricsFactory; import org.apache.curator.framework.CuratorFramework; import org.apache.curator.framework.CuratorFrameworkFactory; import org.apache.curator.retry.ExponentialBackoffRetry; @@ -58,6 +61,14 @@ static void configureConnParams(JdbcConnectionParams connParams) CuratorFramework zooKeeperClient = CuratorFrameworkFactory.builder().connectString(zooKeeperEnsemble) .retryPolicy(new ExponentialBackoffRetry(1000, 3)).build(); + Metrics metrics = MetricsFactory.getInstance(); + if (metrics != null) { + try { + metrics.incrementCounter(MetricsConstant.JDBCCLIENT_ZK_CONNECTIONS); + } catch (Exception e) { + LOG.warn("Error Reporting zookeeper hive client open connection operation to Metrics system", e); + } + } try { zooKeeperClient.start(); serverHosts = zooKeeperClient.getChildren().forPath("/" + zooKeeperNamespace); @@ -81,6 +92,13 @@ static void configureConnParams(JdbcConnectionParams connParams) } finally { // Close the client connection with ZooKeeper if (zooKeeperClient != null) { + if (metrics != null) { + try { + metrics.decrementCounter(MetricsConstant.JDBCCLIENT_ZK_CONNECTIONS); + } catch (Exception e) { + LOG.warn("Error Reporting zookeeper hive client close connection to Metrics system", e); + } + } zooKeeperClient.close(); } } diff --git a/ql/src/java/org/apache/hadoop/hive/ql/lockmgr/DbLockManager.java b/ql/src/java/org/apache/hadoop/hive/ql/lockmgr/DbLockManager.java index 82e227f15dab3482a040d21c7a8165a77f2bac7e..bb9da9d8b7a6f84fb185ce9f78cf23d5db3b04e7 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/lockmgr/DbLockManager.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/lockmgr/DbLockManager.java @@ -20,6 +20,9 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.hadoop.hive.common.JavaUtils; +import org.apache.hadoop.hive.common.metrics.common.Metrics; +import org.apache.hadoop.hive.common.metrics.common.MetricsConstant; +import org.apache.hadoop.hive.common.metrics.common.MetricsFactory; import org.apache.hadoop.hive.metastore.HiveMetaStoreClient; import org.apache.hadoop.hive.metastore.IMetaStoreClient; import org.apache.hadoop.hive.metastore.api.*; @@ -99,6 +102,16 @@ LockState lock(LockRequest lock, String queryId, boolean isBlocking, List