Index: src/main/jamon/org/apache/hbase/tmpl/master/MasterStatusTmpl.jamon =================================================================== --- src/main/jamon/org/apache/hbase/tmpl/master/MasterStatusTmpl.jamon (revision 1160106) +++ src/main/jamon/org/apache/hbase/tmpl/master/MasterStatusTmpl.jamon (working copy) @@ -198,7 +198,7 @@ <%java> } -Total: servers: <% servers.size() %> requests=<% totalRequests %>, regions=<% totalRegions %> +Total: servers: <% servers.size() %> requestsPerSecond=<% totalRequests %>, numberOfOnlineRegions=<% totalRegions %>

Load is requests per second and count of regions loaded

Index: src/main/java/org/apache/hadoop/hbase/HServerLoad.java =================================================================== --- src/main/java/org/apache/hadoop/hbase/HServerLoad.java (revision 1160106) +++ src/main/java/org/apache/hadoop/hbase/HServerLoad.java (working copy) @@ -40,11 +40,15 @@ // Empty load instance. public static final HServerLoad EMPTY_HSERVERLOAD = new HServerLoad(); - /** Number of requests since last report + /** Number of requests per second since last report. */ // TODO: Instead build this up out of region counters. private int numberOfRequests = 0; + /** Total Number of requests from the start of the region server. + */ + private int totalNumberOfRequests = 0; + /** the amount of used heap, in MB */ private int usedHeapMB = 0; @@ -367,12 +371,14 @@ * @param usedHeapMB * @param maxHeapMB */ - public HServerLoad(final int numberOfRequests, final int usedHeapMB, - final int maxHeapMB, final Map regionLoad) { + public HServerLoad(final int totalNumberOfRequests, + final int numberOfRequests, final int usedHeapMB, final int maxHeapMB, + final Map regionLoad) { this.numberOfRequests = numberOfRequests; this.usedHeapMB = usedHeapMB; this.maxHeapMB = maxHeapMB; this.regionLoad = regionLoad; + this.totalNumberOfRequests = totalNumberOfRequests; } /** @@ -380,7 +386,8 @@ * @param hsl the template HServerLoad */ public HServerLoad(final HServerLoad hsl) { - this(hsl.numberOfRequests, hsl.usedHeapMB, hsl.maxHeapMB, hsl.getRegionsLoad()); + this(hsl.totalNumberOfRequests, hsl.numberOfRequests, hsl.usedHeapMB, + hsl.maxHeapMB, hsl.getRegionsLoad()); for (Map.Entry e : hsl.regionLoad.entrySet()) { this.regionLoad.put(e.getKey(), e.getValue()); } @@ -456,11 +463,18 @@ } /** - * @return the numberOfRequests + * @return the numberOfRequests per second. */ public int getNumberOfRequests() { return numberOfRequests; } + + /** + * @return the numberOfRequests + */ + public int getTotalNumberOfRequests() { + return totalNumberOfRequests; + } /** * @return the amount of heap in use, in MB @@ -538,6 +552,7 @@ rl.readFields(in); regionLoad.put(rl.getName(), rl); } + totalNumberOfRequests = in.readInt(); } public void write(DataOutput out) throws IOException { @@ -549,6 +564,7 @@ out.writeInt(this.regionLoad.size()); for (RegionLoad rl: regionLoad.values()) rl.write(out); + out.writeInt(totalNumberOfRequests); } // Comparable Index: src/main/java/org/apache/hadoop/hbase/master/HMaster.java =================================================================== --- src/main/java/org/apache/hadoop/hbase/master/HMaster.java (revision 1160106) +++ src/main/java/org/apache/hadoop/hbase/master/HMaster.java (working copy) @@ -754,7 +754,7 @@ this.serverManager.regionServerReport(new ServerName(sn), hsl); if (hsl != null && this.metrics != null) { // Up our metrics. - this.metrics.incrementRequests(hsl.getNumberOfRequests()); + this.metrics.incrementRequests(hsl.getTotalNumberOfRequests()); } } Index: src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java =================================================================== --- src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java (revision 1160106) +++ src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java (working copy) @@ -766,7 +766,7 @@ } MemoryUsage memory = ManagementFactory.getMemoryMXBean().getHeapMemoryUsage(); - return new HServerLoad(requestCount.get(), + return new HServerLoad(requestCount.get(),(int)metrics.getRequests(), (int)(memory.getUsed() / 1024 / 1024), (int) (memory.getMax() / 1024 / 1024), regionLoads); } Index: src/main/java/org/apache/hadoop/hbase/regionserver/metrics/RegionServerMetrics.java =================================================================== --- src/main/java/org/apache/hadoop/hbase/regionserver/metrics/RegionServerMetrics.java (revision 1160106) +++ src/main/java/org/apache/hadoop/hbase/regionserver/metrics/RegionServerMetrics.java (working copy) @@ -364,8 +364,8 @@ @Override public String toString() { StringBuilder sb = new StringBuilder(); - sb = Strings.appendKeyValue(sb, "requestsPerSecond", - Float.valueOf(this.requests.getPreviousIntervalValue())); + sb = Strings.appendKeyValue(sb, "requestsPerSecond", Integer + .valueOf((int) this.requests.getPreviousIntervalValue())); sb = Strings.appendKeyValue(sb, "numberOfOnlineRegions", Integer.valueOf(this.regions.get())); sb = Strings.appendKeyValue(sb, "numberOfStores",