You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by li...@apache.org on 2013/03/21 19:53:07 UTC
svn commit: r1459460 - in
/hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/regionserver:
HRegionServer.java metrics/RegionServerMetrics.java
Author: liyin
Date: Thu Mar 21 18:53:07 2013
New Revision: 1459460
URL: http://svn.apache.org/r1459460
Log:
[89-fb] [HBASE-7509] Export quorum metrics from HRegionServer
Author: aaiyer
Summary:
DFSClient metrics are disbled to save CPU usage.
This diff will expoet the required quorum Read Metrics
from HRegionServer
Test Plan:
deploy to dev cluster and ensure that the
metrics are seen via ODS counter
part of the output from hbasedev131.ash3:
"hadoop.regionserver_quorumreadsdone": 23,
"hadoop.regionserver_quorumreadsexecutedincurthread": 0,
"hadoop.regionserver_quorumreadwins": 0,
Reviewers: liyintang, rshroff
Reviewed By: rshroff
CC: hbase-eng@
Differential Revision: https://phabricator.fb.com/D697700
Modified:
hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.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/regionserver/HRegionServer.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java?rev=1459460&r1=1459459&r2=1459460&view=diff
==============================================================================
--- hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java (original)
+++ hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java Thu Mar 21 18:53:07 2013
@@ -86,14 +86,12 @@ import org.apache.hadoop.hbase.HServerAd
import org.apache.hadoop.hbase.HServerInfo;
import org.apache.hadoop.hbase.HServerLoad;
import org.apache.hadoop.hbase.HTableDescriptor;
-import org.apache.hadoop.hbase.KeyValue;
import org.apache.hadoop.hbase.LeaseListener;
import org.apache.hadoop.hbase.Leases;
import org.apache.hadoop.hbase.Leases.LeaseStillHeldException;
import org.apache.hadoop.hbase.LocalHBaseCluster;
import org.apache.hadoop.hbase.NotServingRegionException;
import org.apache.hadoop.hbase.RemoteExceptionHandler;
-import org.apache.hadoop.hbase.Stoppable;
import org.apache.hadoop.hbase.UnknownRowLockException;
import org.apache.hadoop.hbase.UnknownScannerException;
import org.apache.hadoop.hbase.YouAreDeadException;
@@ -121,7 +119,6 @@ import org.apache.hadoop.hbase.ipc.HBase
import org.apache.hadoop.hbase.ipc.HBaseServer.Call;
import org.apache.hadoop.hbase.ipc.HMasterRegionInterface;
import org.apache.hadoop.hbase.ipc.HRegionInterface;
-import org.apache.hadoop.hbase.ipc.ProfilingData;
import org.apache.hadoop.hbase.master.AssignmentPlan;
import org.apache.hadoop.hbase.master.RegionPlacement;
import org.apache.hadoop.hbase.regionserver.metrics.RegionServerDynamicMetrics;
@@ -1499,6 +1496,18 @@ public class HRegionServer implements HR
this.metrics.filesRead.set(filesRead);
this.metrics.cntWriteException.set(cntWriteException);
this.metrics.cntReadException.set(cntReadException);
+
+ if (this.fs instanceof DistributedFileSystem) {
+ DFSClient client = ((DistributedFileSystem)fs).getClient();
+
+ long quorumReadsDone = client.quorumReadMetrics.getParallelReadOps();
+ this.metrics.quorumReadsDone.set(quorumReadsDone);
+ long quorumReadWins = client.quorumReadMetrics.getParallelReadWins();
+ this.metrics.quorumReadWins.set(quorumReadWins);
+ long quorumReadsExecutedInCurThread =
+ client.quorumReadMetrics.getParallelReadOpsInCurThread();
+ this.metrics.quorumReadsExecutedInCurThread.set(quorumReadsExecutedInCurThread);
+ }
}
/**
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=1459460&r1=1459459&r2=1459460&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 Thu Mar 21 18:53:07 2013
@@ -254,6 +254,14 @@ public class RegionServerMetrics impleme
public final MetricsLongValue cntReadException =
new MetricsLongValue("dfsCntReadException", registry);
+ // quorum read metrics
+ public final MetricsLongValue quorumReadsDone =
+ new MetricsLongValue("quorumReadsDone", registry);
+ public final MetricsLongValue quorumReadWins =
+ new MetricsLongValue("quorumReadWins", registry);
+ public final MetricsLongValue quorumReadsExecutedInCurThread =
+ new MetricsLongValue("quorumReadsExecutedInCurThread", registry);
+
public RegionServerMetrics() {
MetricsContext context = MetricsUtil.getContext("hbase");
metricsRecord = MetricsUtil.createRecord(context, "regionserver");
@@ -383,6 +391,11 @@ public class RegionServerMetrics impleme
this.filesRead.pushMetric(this.metricsRecord);
this.cntWriteException.pushMetric(this.metricsRecord);
this.cntReadException.pushMetric(this.metricsRecord);
+
+ this.quorumReadsDone.pushMetric(this.metricsRecord);
+ this.quorumReadWins.pushMetric(this.metricsRecord);
+ this.quorumReadsExecutedInCurThread.pushMetric(this.metricsRecord);
+
}
this.metricsRecord.update();
}
@@ -534,6 +547,12 @@ public class RegionServerMetrics impleme
sb = Strings.appendKeyValue(sb, this.cntReadException.getName(),
Long.valueOf(this.cntReadException.get()));
+ sb = Strings.appendKeyValue(sb, this.quorumReadsDone.getName(),
+ Long.valueOf(this.quorumReadsDone.get()));
+ sb = Strings.appendKeyValue(sb, this.quorumReadWins.getName(),
+ Long.valueOf(this.quorumReadWins.get()));
+ sb = Strings.appendKeyValue(sb, this.quorumReadsExecutedInCurThread.getName(),
+ Long.valueOf(this.quorumReadsExecutedInCurThread.get()));
return sb.toString();
}
}