You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by mb...@apache.org on 2012/08/25 08:48:12 UTC
svn commit: r1377224 - in
/hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase: ./ ipc/
metrics/ regionserver/metrics/
Author: mbautin
Date: Sat Aug 25 06:48:12 2012
New Revision: 1377224
URL: http://svn.apache.org/viewvc?rev=1377224&view=rev
Log:
[HBASE-6235] Reset the max and min for the time varying metrics in HBase
Author: liyintang
Summary: Reset the max and min for the time varying metrics in HBase
Test Plan: Unit test and dev cluster test
Reviewers: mbautin, hkuang
Reviewed By: mbautin
CC: hbase-eng@
Differential Revision: https://phabricator.fb.com/D530335
Modified:
hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/HConstants.java
hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/ipc/HBaseRPC.java
hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/ipc/HBaseRpcMetrics.java
hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/metrics/PersistentMetricsTimeVaryingRate.java
hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/regionserver/metrics/RegionServerDynamicMetrics.java
hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/regionserver/metrics/RegionServerMetrics.java
Modified: hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/HConstants.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/HConstants.java?rev=1377224&r1=1377223&r2=1377224&view=diff
==============================================================================
--- hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/HConstants.java (original)
+++ hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/HConstants.java Sat Aug 25 06:48:12 2012
@@ -564,6 +564,14 @@ public final class HConstants {
public static final int IPC_CALL_PARAMETER_LENGTH_MAX = 1000;
+ /** The metric name for RpcQueueTime */
+ public static final String RPC_QUEUE_TIME = "RpcQueueTime";
+
+ /** The metric name for RpcProcessingTime */
+ public static final String RPC_PROCESS_TIME = "RpcProcessingTime";
+
+ public static final boolean RESET_MINMAX = true;
+
private HConstants() {
// Can't be instantiated with this ctor.
}
Modified: hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/ipc/HBaseRPC.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/ipc/HBaseRPC.java?rev=1377224&r1=1377223&r2=1377224&view=diff
==============================================================================
--- hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/ipc/HBaseRPC.java (original)
+++ hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/ipc/HBaseRPC.java Sat Aug 25 06:48:12 2012
@@ -589,8 +589,8 @@ public class HBaseRPC {
" queueTime= " + qTime +
" procesingTime= " + processingTime);
}
- rpcMetrics.rpcQueueTime.inc(qTime);
- rpcMetrics.rpcProcessingTime.inc(processingTime);
+ rpcMetrics.inc(HConstants.RPC_QUEUE_TIME, qTime);
+ rpcMetrics.inc(HConstants.RPC_PROCESS_TIME, processingTime);
rpcMetrics.inc(call.getMethodName(), processingTime);
if (verbose) trace("Return: " + value);
Modified: hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/ipc/HBaseRpcMetrics.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/ipc/HBaseRpcMetrics.java?rev=1377224&r1=1377223&r2=1377224&view=diff
==============================================================================
--- hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/ipc/HBaseRpcMetrics.java (original)
+++ hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/ipc/HBaseRpcMetrics.java Sat Aug 25 06:48:12 2012
@@ -22,10 +22,12 @@ package org.apache.hadoop.hbase.ipc;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.hbase.HConstants;
import org.apache.hadoop.metrics.MetricsContext;
import org.apache.hadoop.metrics.MetricsRecord;
import org.apache.hadoop.metrics.MetricsUtil;
import org.apache.hadoop.metrics.Updater;
+import org.apache.hadoop.metrics.util.MetricsBase;
import org.apache.hadoop.metrics.util.MetricsRegistry;
import org.apache.hadoop.metrics.util.MetricsTimeVaryingRate;
@@ -46,21 +48,6 @@ public class HBaseRpcMetrics implements
private static Log LOG = LogFactory.getLog(HBaseRpcMetrics.class);
private final HBaseRPCStatistics rpcStatistics;
- public HBaseRpcMetrics(String hostName, String port) {
- MetricsContext context = MetricsUtil.getContext("rpc");
- metricsRecord = MetricsUtil.createRecord(context, "metrics");
-
- metricsRecord.setTag("port", port);
-
- LOG.info("Initializing RPC Metrics with hostName="
- + hostName + ", port=" + port);
-
- context.registerUpdater(this);
-
- rpcStatistics = new HBaseRPCStatistics(this.registry, hostName, port);
- }
-
-
/**
* The metrics variables are public:
* - they can be set directly by calling their set/inc methods
@@ -68,17 +55,25 @@ public class HBaseRpcMetrics implements
*/
public final MetricsRegistry registry = new MetricsRegistry();
- public MetricsTimeVaryingRate rpcQueueTime = new MetricsTimeVaryingRate("RpcQueueTime", registry);
- public MetricsTimeVaryingRate rpcProcessingTime = new MetricsTimeVaryingRate("RpcProcessingTime", registry);
-
- //public Map <String, MetricsTimeVaryingRate> metricsList = Collections.synchronizedMap(new HashMap<String, MetricsTimeVaryingRate>());
-
+ public HBaseRpcMetrics(String hostName, String port) {
+ this.create(HConstants.RPC_QUEUE_TIME);
+ this.create(HConstants.RPC_PROCESS_TIME);
+
+ MetricsContext context = MetricsUtil.getContext("rpc");
+ metricsRecord = MetricsUtil.createRecord(context, "metrics");
+ metricsRecord.setTag("port", port);
+ LOG.info("Initializing RPC Metrics with hostName=" + hostName + ", port=" + port);
+ rpcStatistics = new HBaseRPCStatistics(this.registry, hostName, port);
+
+ context.registerUpdater(this);
+ }
private MetricsTimeVaryingRate get(String key) {
return (MetricsTimeVaryingRate) registry.get(key);
}
private MetricsTimeVaryingRate create(String key) {
- return new MetricsTimeVaryingRate(key, this.registry);
+ return new MetricsTimeVaryingRate(key, this.registry, MetricsBase.NO_DESCRIPTION,
+ HConstants.RESET_MINMAX);
}
public synchronized void inc(String name, int amt) {
@@ -94,15 +89,10 @@ public class HBaseRpcMetrics implements
* @param context ctx
*/
public void doUpdates(MetricsContext context) {
- rpcQueueTime.pushMetric(metricsRecord);
- rpcProcessingTime.pushMetric(metricsRecord);
-
synchronized (registry) {
// Iterate through the registry to propagate the different rpc metrics.
-
for (String metricName : registry.getKeyList() ) {
MetricsTimeVaryingRate value = (MetricsTimeVaryingRate) registry.get(metricName);
-
value.pushMetric(metricsRecord);
}
}
Modified: hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/metrics/PersistentMetricsTimeVaryingRate.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/metrics/PersistentMetricsTimeVaryingRate.java?rev=1377224&r1=1377223&r2=1377224&view=diff
==============================================================================
--- hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/metrics/PersistentMetricsTimeVaryingRate.java (original)
+++ hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/metrics/PersistentMetricsTimeVaryingRate.java Sat Aug 25 06:48:12 2012
@@ -19,6 +19,7 @@ package org.apache.hadoop.hbase.metrics;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.hbase.HConstants;
import org.apache.hadoop.metrics.MetricsRecord;
import org.apache.hadoop.metrics.util.MetricsRegistry;
import org.apache.hadoop.metrics.util.MetricsTimeVaryingRate;
@@ -45,7 +46,7 @@ public class PersistentMetricsTimeVaryin
public PersistentMetricsTimeVaryingRate(final String nam,
final MetricsRegistry registry,
final String description) {
- super(nam, registry, description);
+ super(nam, registry, description, HConstants.RESET_MINMAX);
}
/**
Modified: hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/regionserver/metrics/RegionServerDynamicMetrics.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/regionserver/metrics/RegionServerDynamicMetrics.java?rev=1377224&r1=1377223&r2=1377224&view=diff
==============================================================================
--- hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/regionserver/metrics/RegionServerDynamicMetrics.java (original)
+++ hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/regionserver/metrics/RegionServerDynamicMetrics.java Sat Aug 25 06:48:12 2012
@@ -27,6 +27,7 @@ import java.util.concurrent.atomic.Atomi
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.hadoop.hbase.HConstants;
import org.apache.hadoop.hbase.regionserver.HRegion;
import org.apache.hadoop.hbase.util.Pair;
import org.apache.hadoop.metrics.MetricsContext;
@@ -111,7 +112,8 @@ public class RegionServerDynamicMetrics
int numOps) {
MetricsTimeVaryingRate m = (MetricsTimeVaryingRate)registry.get(name);
if (m == null) {
- m = new MetricsTimeVaryingRate(name, this.registry);
+ m = new MetricsTimeVaryingRate(name, this.registry, MetricsBase.NO_DESCRIPTION,
+ HConstants.RESET_MINMAX);
try {
if (updateMbeanInfoIfMetricsListChanged != null) {
updateMbeanInfoIfMetricsListChanged.invoke(this.rsDynamicStatistics,
Modified: hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/regionserver/metrics/RegionServerMetrics.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/regionserver/metrics/RegionServerMetrics.java?rev=1377224&r1=1377223&r2=1377224&view=diff
==============================================================================
--- hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/regionserver/metrics/RegionServerMetrics.java (original)
+++ hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/regionserver/metrics/RegionServerMetrics.java Sat Aug 25 06:48:12 2012
@@ -43,7 +43,6 @@ import org.apache.hadoop.metrics.util.Me
import java.io.IOException;
import java.lang.management.ManagementFactory;
import java.lang.management.MemoryUsage;
-import java.util.ArrayList;
import java.util.List;
/**