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/04 10:06:11 UTC

svn commit: r1369280 - in /hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase: io/hfile/HFileReaderV2.java ipc/ProfilingData.java

Author: mbautin
Date: Sat Aug  4 08:06:11 2012
New Revision: 1369280

URL: http://svn.apache.org/viewvc?rev=1369280&view=rev
Log:
[HBASE-6215] Per-request profiling block stats

Author: aurickq

Summary: break up block hit/miss stats by block type and column family

Test Plan: in hbase shell

Reviewers: kranganathan, liujiakai

Reviewed By: kranganathan

CC: hbase-eng@

Differential Revision: https://phabricator.fb.com/D532657

Modified:
    hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java
    hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/ipc/ProfilingData.java

Modified: hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java?rev=1369280&r1=1369279&r2=1369280&view=diff
==============================================================================
--- hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java (original)
+++ hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java Sat Aug  4 08:06:11 2012
@@ -305,7 +305,9 @@ public class HFileReaderV2 extends Abstr
           }
           ProfilingData pData = HRegionServer.threadLocalProfilingData.get();
           if (pData != null) {
-            pData.incInt(ProfilingData.DATA_BLOCK_HIT_CNT);
+            pData.incInt(ProfilingData.blockHitStr(
+                cachedBlock.getBlockType().getCategory(),
+                cachedBlock.getColumnFamilyName()));
           }
           return cachedBlock;
         }
@@ -340,7 +342,9 @@ public class HFileReaderV2 extends Abstr
       }
       ProfilingData pData = HRegionServer.threadLocalProfilingData.get();
       if (pData != null) {
-        pData.incInt(ProfilingData.DATA_BLOCK_MISS_CNT);
+        pData.incInt(ProfilingData.blockMissStr(
+            hfileBlock.getBlockType().getCategory(),
+            hfileBlock.getColumnFamilyName()));
         pData.incLong(ProfilingData.TOTAL_BLOCK_READ_TIME_NS, delta);
       }
       return hfileBlock;

Modified: hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/ipc/ProfilingData.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/ipc/ProfilingData.java?rev=1369280&r1=1369279&r2=1369280&view=diff
==============================================================================
--- hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/ipc/ProfilingData.java (original)
+++ hbase/branches/0.89-fb/src/main/java/org/apache/hadoop/hbase/ipc/ProfilingData.java Sat Aug  4 08:06:11 2012
@@ -10,6 +10,7 @@ import org.apache.commons.lang.mutable.M
 import org.apache.commons.lang.mutable.MutableInt;
 import org.apache.commons.lang.mutable.MutableLong;
 import org.apache.hadoop.hbase.client.Result;
+import org.apache.hadoop.hbase.io.hfile.BlockType;
 import org.apache.hadoop.io.Writable;
 
 /**
@@ -31,14 +32,18 @@ public class ProfilingData implements Wr
   public static final String CLIENT_NETWORK_LATENCY_MS = "client_network_latency.ms";
   
   /**
-   *  number of data block hits on get
+   *  number of block hits on get
    */
-  public static final String DATA_BLOCK_HIT_CNT = "data_block_hit_cnt";
+  public static String blockHitStr(BlockType.BlockCategory cat, String cf) {
+    return "block_hit_cnt." + cat + "." + cf;
+  }
   
   /**
-   *  number of data block misses on get
+   *  number of block misses on get
    */
-  public static final String DATA_BLOCK_MISS_CNT = "data_block_miss_cnt";
+  public static String blockMissStr(BlockType.BlockCategory cat, String cf) {
+    return "block_miss_cnt." + cat + "." + cf;
+  }
   
   /**
    *  total time spent reading data blocks into cache on misses