From a84ff653ad2af8102d2acbf6102634b477cb7c8b Mon Sep 17 00:00:00 2001 From: chenheng Date: Thu, 18 Aug 2016 10:28:06 +0800 Subject: [PATCH] HBASE-15635 Mean age of Blocks in cache (seconds) on webUI should be greater than zero --- .../hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.jamon | 11 ++--------- .../java/org/apache/hadoop/hbase/io/hfile/BlockCacheUtil.java | 4 +++- .../java/org/apache/hadoop/hbase/io/hfile/CacheStats.java | 4 +++- 3 files changed, 8 insertions(+), 11 deletions(-) diff --git a/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.jamon b/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.jamon index 00b36c3..2114539 100644 --- a/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.jamon +++ b/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.jamon @@ -176,9 +176,6 @@ org.apache.hadoop.util.StringUtils; <%java> AgeSnapshot ageAtEvictionSnapshot = bc.getStats().getAgeAtEvictionSnapshot(); - // Only show if non-zero mean and stddev as is the case in combinedblockcache - double mean = ageAtEvictionSnapshot.getMean(); - double stddev = ageAtEvictionSnapshot.getStdDev(); Evicted @@ -190,20 +187,16 @@ org.apache.hadoop.util.StringUtils; <% String.format("%,d", bc.getStats().getEvictionCount()) %> The total number of times an eviction has occurred -<%if mean > 0 %> Mean - <% String.format("%,d", (long)(ageAtEvictionSnapshot.getMean()/(1000000 * 1000))) %> + <% String.format("%,d", (long)(ageAtEvictionSnapshot.getMean())) %> Mean age of Blocks at eviction time (seconds) - -<%if stddev > 0 %> StdDev - <% String.format("%,d", (long)(ageAtEvictionSnapshot.getStdDev()/1000000)) %> + <% String.format("%,d", (long)(ageAtEvictionSnapshot.getStdDev())) %> Standard Deviation for age of Blocks at eviction time - <%def hits_tmpl> diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/BlockCacheUtil.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/BlockCacheUtil.java index 05eb019..247b6be 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/BlockCacheUtil.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/BlockCacheUtil.java @@ -41,6 +41,8 @@ import com.yammer.metrics.stats.Snapshot; */ @InterfaceAudience.Private public class BlockCacheUtil { + + public static final long NANOS_PER_SECOND = 1000000000; /** * Needed making histograms. */ @@ -231,7 +233,7 @@ public class BlockCacheUtil { this.dataBlockCount++; this.dataSize += cb.getSize(); } - long age = this.now - cb.getCachedTime(); + long age = (this.now - cb.getCachedTime())/NANOS_PER_SECOND; this.age.update(age); return false; } diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/CacheStats.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/CacheStats.java index fff6585..78f022f 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/CacheStats.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/CacheStats.java @@ -150,7 +150,9 @@ public class CacheStats { } public void evicted(final long t, boolean primary) { - if (t > this.startTime) this.ageAtEviction.update(t - this.startTime); + if (t > this.startTime) { + this.ageAtEviction.update((t - this.startTime)/BlockCacheUtil.NANOS_PER_SECOND); + } this.evictedBlockCount.incrementAndGet(); if (primary) { primaryEvictedBlockCount.incrementAndGet(); -- 1.9.3 (Apple Git-50)