You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by st...@apache.org on 2011/12/18 01:08:58 UTC

svn commit: r1220306 - in /hbase/branches/0.92: ./ src/main/jamon/org/apache/hbase/tmpl/master/ src/main/jamon/org/apache/hbase/tmpl/regionserver/ src/main/java/org/apache/hadoop/hbase/master/ src/main/java/org/apache/hadoop/hbase/regionserver/

Author: stack
Date: Sun Dec 18 00:08:57 2011
New Revision: 1220306

URL: http://svn.apache.org/viewvc?rev=1220306&view=rev
Log:
HBASE-4934 Display Master server and Regionserver start time on respective info servers

Modified:
    hbase/branches/0.92/CHANGES.txt
    hbase/branches/0.92/src/main/jamon/org/apache/hbase/tmpl/master/MasterStatusTmpl.jamon
    hbase/branches/0.92/src/main/jamon/org/apache/hbase/tmpl/regionserver/RSStatusTmpl.jamon
    hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
    hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java

Modified: hbase/branches/0.92/CHANGES.txt
URL: http://svn.apache.org/viewvc/hbase/branches/0.92/CHANGES.txt?rev=1220306&r1=1220305&r2=1220306&view=diff
==============================================================================
--- hbase/branches/0.92/CHANGES.txt (original)
+++ hbase/branches/0.92/CHANGES.txt Sun Dec 18 00:08:57 2011
@@ -795,6 +795,8 @@ Release 0.92.0 - Unreleased
    HBASE-4944  Optionally verify bulk loaded HFiles
    HBASE-4683  Always cache index and bloom blocks
    HBASE-5001  Improve the performance of block cache keys
+   HBASE-4934  Display Master server and Regionserver start time on respective
+               info servers (Jonathan Hsieh)
 
   TASKS
    HBASE-3559  Move report of split to master OFF the heartbeat channel

Modified: hbase/branches/0.92/src/main/jamon/org/apache/hbase/tmpl/master/MasterStatusTmpl.jamon
URL: http://svn.apache.org/viewvc/hbase/branches/0.92/src/main/jamon/org/apache/hbase/tmpl/master/MasterStatusTmpl.jamon?rev=1220306&r1=1220305&r2=1220306&view=diff
==============================================================================
--- hbase/branches/0.92/src/main/jamon/org/apache/hbase/tmpl/master/MasterStatusTmpl.jamon (original)
+++ hbase/branches/0.92/src/main/jamon/org/apache/hbase/tmpl/master/MasterStatusTmpl.jamon Sun Dec 18 00:08:57 2011
@@ -107,6 +107,8 @@ org.apache.hadoop.hbase.HTableDescriptor
   </td>
   <td>Coprocessors currently loaded loaded by the master</td>
 </tr>
+<tr><td>HMaster Start Time</td><td><% new Date(master.getMasterStartTime()) %></td><td>Date stamp of when this HMaster was started</td></tr>
+<tr><td>HMaster Active Time</td><td><% new Date(master.getMasterActiveTime()) %></td><td>Date stamp of when this HMaster became active</td></tr>
 </table>
 
 <& ../common/TaskMonitorTmpl; filter = filter &>
@@ -198,7 +200,7 @@ org.apache.hadoop.hbase.HTableDescriptor
 </%java>
 
 <table>
-<tr><th rowspan="<% servers.size() + 1%>"></th><th>ServerName</th><th>Load</th></tr>
+<tr><th rowspan="<% servers.size() + 1%>"></th><th>ServerName</th><th>Start time</th><th>Load</th></tr>
 <%java>
    ServerName [] serverNames = servers.toArray(new ServerName[servers.size()]);
      Arrays.sort(serverNames);
@@ -213,12 +215,13 @@ org.apache.hadoop.hbase.HTableDescriptor
          totalRegions += hsl.getNumberOfRegions();
          totalRequests += hsl.getNumberOfRequests();
        }
+       long startcode = serverName.getStartcode();
 </%java>
-<tr><td><a href="<% url %>"><% serverName %></a></td></td><td><% loadStr %></td></tr>
+<tr><td><a href="<% url %>"><% serverName %></a></td><td><% new Date(startcode) %></td><td><% loadStr %></td></tr>
 <%java>
     }
 </%java>
-<tr><th>Total: </th><td>servers: <% servers.size() %></td><td>requestsPerSecond=<% totalRequests %>, numberOfOnlineRegions=<% totalRegions %></td></tr>
+<tr><th>Total: </th><td>servers: <% servers.size() %></td><td></td><td>requestsPerSecond=<% totalRequests %>, numberOfOnlineRegions=<% totalRegions %></td></tr>
 </table>
 
 <p>Load is requests per second and count of regions loaded</p>

Modified: hbase/branches/0.92/src/main/jamon/org/apache/hbase/tmpl/regionserver/RSStatusTmpl.jamon
URL: http://svn.apache.org/viewvc/hbase/branches/0.92/src/main/jamon/org/apache/hbase/tmpl/regionserver/RSStatusTmpl.jamon?rev=1220306&r1=1220305&r2=1220306&view=diff
==============================================================================
--- hbase/branches/0.92/src/main/jamon/org/apache/hbase/tmpl/regionserver/RSStatusTmpl.jamon (original)
+++ hbase/branches/0.92/src/main/jamon/org/apache/hbase/tmpl/regionserver/RSStatusTmpl.jamon Sun Dec 18 00:08:57 2011
@@ -92,6 +92,7 @@ org.apache.hadoop.hbase.ServerName;
     <% java.util.Arrays.toString(regionServer.getCoprocessors()) %>
   </td>
   <td>Coprocessors currently loaded by this regionserver</td>
+<tr><td>RS Start Time</td><td><% new Date(regionServer.getStartcode()) %></td><td>Date stamp of when this region server was started</td></tr>
 </tr>
 </table>
 

Modified: hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/master/HMaster.java?rev=1220306&r1=1220305&r2=1220306&view=diff
==============================================================================
--- hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/master/HMaster.java (original)
+++ hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/master/HMaster.java Sun Dec 18 00:08:57 2011
@@ -189,6 +189,10 @@ implements HMasterInterface, HMasterRegi
   private final ServerName serverName;
 
   private TableDescriptors tableDescriptors;
+
+  // Time stamps for when a hmaster was started and when it became active
+  private long masterStartTime;
+  private long masterActiveTime;
   
   /**
    * Initializes the HMaster. The steps are as follows:
@@ -280,6 +284,7 @@ implements HMasterInterface, HMasterRegi
         "(Also watching cluster state node)");
       Thread.sleep(c.getInt("zookeeper.session.timeout", 180 * 1000));
     }
+    
   }
 
   /**
@@ -296,6 +301,7 @@ implements HMasterInterface, HMasterRegi
     MonitoredTask startupStatus =
       TaskMonitor.get().createStatus("Master startup");
     startupStatus.setDescription("Master startup");
+    masterStartTime = System.currentTimeMillis();
     try {
       /*
        * Block on becoming the active master.
@@ -431,6 +437,7 @@ implements HMasterInterface, HMasterRegi
      */
 
     status.setStatus("Initializing Master file system");
+    this.masterActiveTime = System.currentTimeMillis();
     // TODO: Do this using Dependency Injection, using PicoContainer, Guice or Spring.
     this.fileSystemManager = new MasterFileSystem(this, this, metrics);
 
@@ -1189,6 +1196,20 @@ implements HMasterInterface, HMasterRegi
   }
 
   /**
+   * @return timestamp in millis when HMaster was started.
+   */
+  public long getMasterStartTime() {
+    return masterStartTime;
+  }
+
+  /**
+   * @return timestamp in millis when HMaster became the active master.
+   */
+  public long getMasterActiveTime() {
+    return masterActiveTime;
+  }
+  
+  /**
    * @return array of coprocessor SimpleNames.
    */
   public String[] getCoprocessors() {

Modified: hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java?rev=1220306&r1=1220305&r2=1220306&view=diff
==============================================================================
--- hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java (original)
+++ hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java Sun Dec 18 00:08:57 2011
@@ -2735,6 +2735,13 @@ public class HRegionServer implements HR
     return this.requestCount;
   }
 
+  /**
+   * @return time stamp in millis of when this region server was started
+   */
+  public long getStartcode() {
+    return this.startcode;
+  }
+
   /** @return reference to FlushRequester */
   public FlushRequester getFlushRequester() {
     return this.cacheFlusher;