Index: src/main/java/org/apache/hadoop/hbase/regionserver/metrics/RegionServerMetrics.java =================================================================== --- src/main/java/org/apache/hadoop/hbase/regionserver/metrics/RegionServerMetrics.java (revision 1238117) +++ src/main/java/org/apache/hadoop/hbase/regionserver/metrics/RegionServerMetrics.java (working copy) @@ -44,6 +44,7 @@ import java.lang.management.ManagementFactory; import java.lang.management.MemoryUsage; import java.util.List; +import java.util.concurrent.atomic.AtomicLong; /** * This class is for maintaining the various regionserver statistics @@ -238,6 +239,11 @@ public final MetricsTimeVaryingRate slowHLogAppendTime = new MetricsTimeVaryingRate("slowHLogAppendTime", registry); + + public final MetricsLongValue scannerLeaseExpiredCount = + new MetricsLongValue("scannerLeaseExpiredCount", registry); + + private AtomicLong scannerLeaseExpiredCounter = new AtomicLong(); public RegionServerMetrics() { MetricsContext context = MetricsUtil.getContext("hbase"); @@ -331,6 +337,7 @@ addHLogMetric(HLog.getSyncTime(), this.fsSyncLatency); addHLogMetric(HLog.getSlowAppendTime(), this.slowHLogAppendTime); this.slowHLogAppendCount.set(HLog.getSlowAppendCount()); + this.scannerLeaseExpiredCount.set(this.scannerLeaseExpiredCounter.get()); // HFile metrics, sequential reads int ops = HFile.getReadOps(); if (ops != 0) this.fsReadLatency.inc(ops, HFile.getReadTimeMs()); @@ -354,6 +361,7 @@ this.flushTime.pushMetric(this.metricsRecord); this.flushSize.pushMetric(this.metricsRecord); this.slowHLogAppendCount.pushMetric(this.metricsRecord); + this.scannerLeaseExpiredCount.pushMetric(this.metricsRecord); } this.metricsRecord.update(); } @@ -411,6 +419,10 @@ public void incrementRequests(final int inc) { this.requests.inc(inc); } + + public void incrementScannerLeaseExpiredCount() { + this.scannerLeaseExpiredCounter.incrementAndGet(); + } @Override public String toString() { Index: src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java =================================================================== --- src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java (revision 1238117) +++ src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java (working copy) @@ -2433,6 +2433,7 @@ LOG.info("Scanner " + this.scannerName + " lease expired"); RegionScanner s = scanners.remove(this.scannerName); if (s != null) { + metrics.incrementScannerLeaseExpiredCount(); try { HRegion region = getRegion(s.getRegionInfo().getRegionName()); if (region != null && region.getCoprocessorHost() != null) {