You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by an...@apache.org on 2013/03/12 16:26:26 UTC

svn commit: r1455583 - /hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/RegionLoad.java

Author: anoopsamjohn
Date: Tue Mar 12 15:26:26 2013
New Revision: 1455583

URL: http://svn.apache.org/r1455583
Log:
HBASE-8057 RegionLoad needs a toString implementation(jmspaggiari)

Modified:
    hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/RegionLoad.java

Modified: hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/RegionLoad.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/RegionLoad.java?rev=1455583&r1=1455582&r2=1455583&view=diff
==============================================================================
--- hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/RegionLoad.java (original)
+++ hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/RegionLoad.java Tue Mar 12 15:26:26 2013
@@ -23,6 +23,7 @@ package org.apache.hadoop.hbase;
 import org.apache.hadoop.classification.InterfaceAudience;
 import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos;
 import org.apache.hadoop.hbase.util.Bytes;
+import org.apache.hadoop.hbase.util.Strings;
 
 /**
   * Encapsulates per-region load metrics.
@@ -149,4 +150,57 @@ public class RegionLoad {
   public long getCompleteSequenceId() {
     return regionLoadPB.getCompleteSequenceId();
   }
+
+  /**
+   * @return the uncompressed size of the storefiles in MB.
+   */
+  public int getStoreUncompressedSizeMB() {
+    return regionLoadPB.getStoreUncompressedSizeMB();
+  }
+
+  /**
+   * @see java.lang.Object#toString()
+   */
+  @Override
+  public String toString() {
+    StringBuilder sb = Strings.appendKeyValue(new StringBuilder(), "numberOfStores",
+      Integer.valueOf(this.getStores()));
+    sb = Strings.appendKeyValue(sb, "numberOfStorefiles",
+      Integer.valueOf(this.getStorefiles()));
+    sb = Strings.appendKeyValue(sb, "storefileUncompressedSizeMB",
+      Integer.valueOf(this.getStoreUncompressedSizeMB()));
+    sb = Strings.appendKeyValue(sb, "storefileSizeMB",
+        Integer.valueOf(this.getStorefileSizeMB()));
+    if (this.getStoreUncompressedSizeMB() != 0) {
+      sb = Strings.appendKeyValue(sb, "compressionRatio",
+          String.format("%.4f", (float)this.getStorefileSizeMB()/
+              (float)this.getStoreUncompressedSizeMB()));
+    }
+    sb = Strings.appendKeyValue(sb, "memstoreSizeMB",
+      Integer.valueOf(this.getMemStoreSizeMB()));
+    sb = Strings.appendKeyValue(sb, "storefileIndexSizeMB",
+      Integer.valueOf(this.getStorefileIndexSizeMB()));
+    sb = Strings.appendKeyValue(sb, "readRequestsCount",
+        Long.valueOf(this.getReadRequestsCount()));
+    sb = Strings.appendKeyValue(sb, "writeRequestsCount",
+        Long.valueOf(this.getWriteRequestsCount()));
+    sb = Strings.appendKeyValue(sb, "rootIndexSizeKB",
+        Integer.valueOf(this.getRootIndexSizeKB()));
+    sb = Strings.appendKeyValue(sb, "totalStaticIndexSizeKB",
+        Integer.valueOf(this.getTotalStaticIndexSizeKB()));
+    sb = Strings.appendKeyValue(sb, "totalStaticBloomSizeKB",
+      Integer.valueOf(this.getTotalStaticBloomSizeKB()));
+    sb = Strings.appendKeyValue(sb, "totalCompactingKVs",
+        Long.valueOf(this.getTotalCompactingKVs()));
+    sb = Strings.appendKeyValue(sb, "currentCompactedKVs",
+        Long.valueOf(this.getCurrentCompactedKVs()));
+    float compactionProgressPct = Float.NaN;
+    if( this.getTotalCompactingKVs() > 0 ) {
+      compactionProgressPct = Float.valueOf(
+          this.getCurrentCompactedKVs() / this.getTotalCompactingKVs());
+    }
+    sb = Strings.appendKeyValue(sb, "compactionProgressPct",
+        compactionProgressPct);
+    return sb.toString();
+  }
 }