Author: tedyu
Date: Tue Dec 31 01:34:37 2013
New Revision: 1554347
URL: http://svn.apache.org/r1554347
Log:
HBASE-10213 Add read log size per second metrics for replication source
Modified:
hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/MetricsSource.java
hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.java
Modified:
hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/MetricsSource.java
URL:
http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/MetricsSource.java?rev=1554347&r1=1554346&r2=1554347&view=diff
==============================================================================
---
hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/MetricsSource.java
(original)
+++
hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/MetricsSource.java
Tue Dec 31 01:34:37 2013
@@ -37,6 +37,7 @@ public class MetricsSource {
public static final String SOURCE_LOG_EDITS_FILTERED =
"source.logEditsFiltered";
public static final String SOURCE_SHIPPED_BATCHES = "source.shippedBatches";
public static final String SOURCE_SHIPPED_OPS = "source.shippedOps";
+ public static final String SOURCE_LOG_READ_IN_BYTES =
"source.logReadInBytes";
public static final Log LOG = LogFactory.getLog(MetricsSource.class);
private String id;
@@ -50,6 +51,7 @@ public class MetricsSource {
private String logEditsFilteredKey;
private final String shippedBatchesKey;
private final String shippedOpsKey;
+ private final String logReadInBytesKey;
private MetricsReplicationSource rms;
@@ -67,6 +69,7 @@ public class MetricsSource {
logEditsFilteredKey = "source." + id + ".logEditsFiltered";
shippedBatchesKey = "source." + this.id + ".shippedBatches";
shippedOpsKey = "source." + this.id + ".shippedOps";
+ logReadInBytesKey = "source." + this.id + ".logReadInBytes";
rms =
CompatibilitySingletonFactory.getInstance(MetricsReplicationSource.class);
}
@@ -144,6 +147,12 @@ public class MetricsSource {
rms.incCounters(shippedOpsKey, batchSize);
rms.incCounters(SOURCE_SHIPPED_OPS, batchSize);
}
+
+ /** increase the byte number read by source from log file */
+ public void incrLogReadInByes(long readInBytes) {
+ rms.incCounters(logReadInBytesKey, readInBytes);
+ rms.incCounters(SOURCE_LOG_READ_IN_BYTES, readInBytes);
+ }
/** Removes all metrics about this Source. */
public void clear() {
Modified:
hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.java
URL:
http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.java?rev=1554347&r1=1554346&r2=1554347&view=diff
==============================================================================
---
hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.java
(original)
+++
hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.java
Tue Dec 31 01:34:37 2013
@@ -377,6 +377,7 @@ public class ReplicationSource extends T
+ this.repLogReader.getPosition());
}
this.repLogReader.seek();
+ long positionBeforeRead = this.repLogReader.getPosition();
HLog.Entry entry =
this.repLogReader.readNextAndSetPosition();
while (entry != null) {
@@ -413,6 +414,7 @@ public class ReplicationSource extends T
break;
}
}
+ metrics.incrLogReadInByes(this.repLogReader.getPosition() -
positionBeforeRead);
if (currentWALisBeingWrittenTo) {
return false;
}