View Javadoc

1   package org.apache.hadoop.hbase.generated.regionserver;
2   
3   import javax.servlet.*;
4   import javax.servlet.http.*;
5   import javax.servlet.jsp.*;
6   import java.util.*;
7   import java.io.IOException;
8   import org.apache.hadoop.io.Text;
9   import org.apache.hadoop.hbase.regionserver.HRegionServer;
10  import org.apache.hadoop.hbase.regionserver.HRegion;
11  import org.apache.hadoop.hbase.regionserver.metrics.RegionServerMetrics;
12  import org.apache.hadoop.hbase.util.Bytes;
13  import org.apache.hadoop.hbase.HConstants;
14  import org.apache.hadoop.hbase.HServerInfo;
15  import org.apache.hadoop.hbase.HServerLoad;
16  import org.apache.hadoop.hbase.HRegionInfo;
17  
18  public final class regionserver_jsp extends org.apache.jasper.runtime.HttpJspBase
19      implements org.apache.jasper.runtime.JspSourceDependent {
20  
21    private static final JspFactory _jspxFactory = JspFactory.getDefaultFactory();
22  
23    private static java.util.Vector _jspx_dependants;
24  
25    private org.apache.jasper.runtime.ResourceInjector _jspx_resourceInjector;
26  
27    public Object getDependants() {
28      return _jspx_dependants;
29    }
30  
31    public void _jspService(HttpServletRequest request, HttpServletResponse response)
32          throws java.io.IOException, ServletException {
33  
34      PageContext pageContext = null;
35      HttpSession session = null;
36      ServletContext application = null;
37      ServletConfig config = null;
38      JspWriter out = null;
39      Object page = this;
40      JspWriter _jspx_out = null;
41      PageContext _jspx_page_context = null;
42  
43      try {
44        response.setContentType("text/html;charset=UTF-8");
45        pageContext = _jspxFactory.getPageContext(this, request, response,
46        			null, true, 8192, true);
47        _jspx_page_context = pageContext;
48        application = pageContext.getServletContext();
49        config = pageContext.getServletConfig();
50        session = pageContext.getSession();
51        out = pageContext.getOut();
52        _jspx_out = out;
53        _jspx_resourceInjector = (org.apache.jasper.runtime.ResourceInjector) application.getAttribute("com.sun.appserv.jsp.resource.injector");
54  
55  
56    HRegionServer regionServer = (HRegionServer)getServletContext().getAttribute(HRegionServer.REGIONSERVER);
57    HServerInfo serverInfo = null;
58    try {
59      serverInfo = regionServer.getHServerInfo();
60    } catch (IOException e) {
61      e.printStackTrace();
62    }
63    RegionServerMetrics metrics = regionServer.getMetrics();
64    List<HRegionInfo> onlineRegions = regionServer.getOnlineRegions();
65    int interval = regionServer.getConfiguration().getInt("hbase.regionserver.msginterval", 3000)/1000;
66  
67  
68        out.write("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \n  \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\"> \n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head><meta http-equiv=\"Content-Type\" content=\"text/html;charset=UTF-8\"/>\n<title>HBase Region Server: ");
69        out.print( serverInfo.getServerAddress().getHostname() );
70        out.write(':');
71        out.print( serverInfo.getServerAddress().getPort() );
72        out.write("</title>\n<link rel=\"stylesheet\" type=\"text/css\" href=\"/static/hbase.css\" />\n</head>\n\n<body>\n<a id=\"logo\" href=\"http://wiki.apache.org/lucene-hadoop/Hbase\"><img src=\"/static/hbase_logo_med.gif\" alt=\"HBase Logo\" title=\"HBase Logo\" /></a>\n<h1 id=\"page_title\">Region Server: ");
73        out.print( serverInfo.getServerAddress().getHostname() );
74        out.write(':');
75        out.print( serverInfo.getServerAddress().getPort() );
76        out.write("</h1>\n<p id=\"links_menu\"><a href=\"/logs/\">Local logs</a>, <a href=\"/stacks\">Thread Dump</a>, <a href=\"/logLevel\">Log Level</a></p>\n<hr id=\"head_rule\" />\n\n<h2>Region Server Attributes</h2>\n<table>\n<tr><th>Attribute Name</th><th>Value</th><th>Description</th></tr>\n<tr><td>HBase Version</td><td>");
77        out.print( org.apache.hadoop.hbase.util.VersionInfo.getVersion() );
78        out.write(", r");
79        out.print( org.apache.hadoop.hbase.util.VersionInfo.getRevision() );
80        out.write("</td><td>HBase version and svn revision</td></tr>\n<tr><td>HBase Compiled</td><td>");
81        out.print( org.apache.hadoop.hbase.util.VersionInfo.getDate() );
82        out.write(',');
83        out.write(' ');
84        out.print( org.apache.hadoop.hbase.util.VersionInfo.getUser() );
85        out.write("</td><td>When HBase version was compiled and by whom</td></tr>\n<tr><td>Metrics</td><td>");
86        out.print( metrics.toString() );
87        out.write("</td><td>RegionServer Metrics; file and heap sizes are in megabytes</td></tr>\n<tr><td>Zookeeper Quorum</td><td>");
88        out.print( regionServer.getZooKeeper().getQuorum() );
89        out.write("</td><td>Addresses of all registered ZK servers</td></tr>\n</table>\n\n<h2>Online Regions</h2>\n");
90   if (onlineRegions != null && onlineRegions.size() > 0) { 
91        out.write("\n<table>\n<tr><th>Region Name</th><th>Start Key</th><th>End Key</th><th>Metrics</th></tr>\n");
92     
93    Collections.sort(onlineRegions);
94    for (HRegionInfo r: onlineRegions) { 
95          HServerLoad.RegionLoad load = regionServer.createRegionLoad(r.getEncodedName());
96   
97        out.write("\n<tr><td>");
98        out.print( r.getRegionNameAsString() );
99        out.write("</td>\n    <td>");
100       out.print( Bytes.toStringBinary(r.getStartKey()) );
101       out.write("</td><td>");
102       out.print( Bytes.toStringBinary(r.getEndKey()) );
103       out.write("</td>\n    <td>");
104       out.print( load == null? "null": load.toString() );
105       out.write("</td>\n    </tr>\n");
106    } 
107       out.write("\n</table>\n<p>Region names are made of the containing table's name, a comma,\nthe start key, a comma, and a randomly generated region id.  To illustrate,\nthe region named\n<em>domains,apache.org,5464829424211263407</em> is party to the table \n<em>domains</em>, has an id of <em>5464829424211263407</em> and the first key\nin the region is <em>apache.org</em>.  The <em>-ROOT-</em>\nand <em>.META.</em> 'tables' are internal sytem tables (or 'catalog' tables in db-speak).\nThe -ROOT- keeps a list of all regions in the .META. table.  The .META. table\nkeeps a list of all regions in the system. The empty key is used to denote\ntable start and table end.  A region with an empty start key is the first region in a table.\nIf region has both an empty start and an empty end key, its the only region in the table.  See\n<a href=\"http://hbase.org\">HBase Home</a> for further explication.<p>\n");
108  } else { 
109       out.write("\n<p>Not serving regions</p>\n");
110  } 
111       out.write("\n</body>\n</html>\n");
112     } catch (Throwable t) {
113       if (!(t instanceof SkipPageException)){
114         out = _jspx_out;
115         if (out != null && out.getBufferSize() != 0)
116           out.clearBuffer();
117         if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
118       }
119     } finally {
120       _jspxFactory.releasePageContext(_jspx_page_context);
121     }
122   }
123 }