001// Autogenerated Jamon implementation
002// /Users/petersomogyi/projects/hbase-upstream/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.jamon
003
004package org.apache.hadoop.hbase.tmpl.regionserver;
005
006// 27, 1
007import java.util.*;
008// 28, 1
009import org.apache.hadoop.hbase.regionserver.HRegionServer;
010// 29, 1
011import org.apache.hadoop.hbase.client.RegionInfo;
012// 30, 1
013import org.apache.hadoop.hbase.ServerName;
014// 31, 1
015import org.apache.hadoop.hbase.HBaseConfiguration;
016// 32, 1
017import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;
018// 33, 1
019import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ServerInfo;
020// 34, 1
021import org.apache.hadoop.hbase.zookeeper.MasterAddressTracker;
022
023public class RSStatusTmplImpl
024  extends org.jamon.AbstractTemplateImpl
025  implements org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl.Intf
026
027{
028  private final HRegionServer regionServer;
029  private final String bcn;
030  private final String bcv;
031  private final String filter;
032  private final String format;
033  protected static org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl.ImplData __jamon_setOptionalArguments(org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl.ImplData p_implData)
034  {
035    if(! p_implData.getBcn__IsNotDefault())
036    {
037      p_implData.setBcn("");
038    }
039    if(! p_implData.getBcv__IsNotDefault())
040    {
041      p_implData.setBcv("");
042    }
043    if(! p_implData.getFilter__IsNotDefault())
044    {
045      p_implData.setFilter("general");
046    }
047    if(! p_implData.getFormat__IsNotDefault())
048    {
049      p_implData.setFormat("html");
050    }
051    return p_implData;
052  }
053  public RSStatusTmplImpl(org.jamon.TemplateManager p_templateManager, org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl.ImplData p_implData)
054  {
055    super(p_templateManager, __jamon_setOptionalArguments(p_implData));
056    regionServer = p_implData.getRegionServer();
057    bcn = p_implData.getBcn();
058    bcv = p_implData.getBcv();
059    filter = p_implData.getFilter();
060    format = p_implData.getFormat();
061  }
062  
063  @Override public void renderNoFlush(final java.io.Writer jamonWriter)
064    throws java.io.IOException
065  {
066    // 37, 1
067    if (format.equals("json") && bcn != null && bcn.length() > 0  )
068    {
069      // 37, 66
070      jamonWriter.write("\n  ");
071      // 38, 3
072      {
073        org.apache.hadoop.hbase.tmpl.regionserver.BlockCacheViewTmpl __jamon__var_7 = new org.apache.hadoop.hbase.tmpl.regionserver.BlockCacheViewTmpl(this.getTemplateManager());
074        __jamon__var_7.renderNoFlush(jamonWriter, regionServer.getCacheConfig(), regionServer.getConfiguration(), bcn, bcv);
075      }
076      // 38, 136
077      jamonWriter.write("\n  ");
078      // 39, 3
079      return; 
080    }
081    // 40, 1
082    else if (format.equals("json") )
083    {
084      // 40, 34
085      jamonWriter.write("\n  ");
086      // 41, 3
087      {
088        org.apache.hadoop.hbase.tmpl.common.TaskMonitorTmpl __jamon__var_8 = new org.apache.hadoop.hbase.tmpl.common.TaskMonitorTmpl(this.getTemplateManager());
089        __jamon__var_8.setFilter(filter);
090        __jamon__var_8.setFormat("json" );
091        __jamon__var_8.renderNoFlush(jamonWriter);
092      }
093      // 41, 68
094      jamonWriter.write("\n  ");
095      // 42, 3
096      return; 
097    }
098    // 43, 7
099    jamonWriter.write("\n");
100    // 44, 1
101    
102  ServerInfo serverInfo = ProtobufUtil.getServerInfo(null, regionServer.getRSRpcServices());
103  ServerName serverName = ProtobufUtil.toServerName(serverInfo.getServerName());
104  List<RegionInfo> onlineRegions = ProtobufUtil.getOnlineRegions(regionServer.getRSRpcServices());
105  MasterAddressTracker masterAddressTracker = regionServer.getMasterAddressTracker();
106  ServerName masterServerName = masterAddressTracker == null ? null
107    : masterAddressTracker.getMasterAddress();
108  int infoPort = masterAddressTracker == null ? 0 : masterAddressTracker.getMasterInfoPort();
109
110    // 53, 1
111    jamonWriter.write("<!DOCTYPE html>\n<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"utf-8\">\n    <title>HBase Region Server: ");
112    // 58, 33
113    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(serverName.getHostname()), jamonWriter);
114    // 58, 63
115    jamonWriter.write("</title>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <meta name=\"description\" content=\"\">\n\n    <link href=\"/static/css/bootstrap.min.css\" rel=\"stylesheet\">\n    <link href=\"/static/css/bootstrap-theme.min.css\" rel=\"stylesheet\">\n    <link href=\"/static/css/hbase.css\" rel=\"stylesheet\">\n  </head>\n\n  <body>\n\n    <div class=\"navbar  navbar-fixed-top navbar-default\">\n        <div class=\"container-fluid\">\n            <div class=\"navbar-header\">\n                <button type=\"button\" class=\"navbar-toggle\" data-toggle=\"collapse\" data-target=\".navbar-collapse\">\n                    <span class=\"icon-bar\"></span>\n                    <span class=\"icon-bar\"></span>\n                    <span class=\"icon-bar\"></span>\n                </button>\n                <a class=\"navbar-brand\" href=\"/rs-status\"><img src=\"/static/hbase_logo_small.png\" alt=\"HBase Logo\"/></a>\n            </div>\n            <div class=\"collapse navbar-collapse\">\n                <ul class=\"nav navbar-nav\">\n                <li class=\"active\"><a href=\"/rs-status\">Home</a></li>\n                <li><a href=\"/processRS.jsp\">Process Metrics</a></li>\n                <li><a href=\"/logs/\">Local Logs</a></li>\n                <li><a href=\"/logLevel\">Log Level</a></li>\n                <li><a href=\"/dump\">Debug Dump</a></li>\n                <li><a href=\"/jmx\">Metrics Dump</a></li>\n                <li><a href=\"/prof\">Profiler</a></li>\n                ");
116    // 88, 17
117    if (HBaseConfiguration.isShowConfInServlet())
118    {
119      // 88, 64
120      jamonWriter.write("\n                <li><a href=\"/conf\">HBase Configuration</a></li>\n                ");
121    }
122    // 90, 23
123    jamonWriter.write("\n            </ul>\n          </div><!--/.nav-collapse -->\n        </div>\n      </div>\n    </div>\n\n  <div class=\"container-fluid content\">\n    <div class=\"row inner_header\">\n        <div class=\"page-header\">\n            <h1>RegionServer <small>");
124    // 100, 37
125    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(serverName), jamonWriter);
126    // 100, 53
127    jamonWriter.write("</small></h1>\n        </div>\n    </div>\n    <div class=\"row\">\n\n    <section>\n    <h2>Server Metrics</h2>\n    ");
128    // 107, 5
129    {
130      org.apache.hadoop.hbase.tmpl.regionserver.ServerMetricsTmpl __jamon__var_9 = new org.apache.hadoop.hbase.tmpl.regionserver.ServerMetricsTmpl(this.getTemplateManager());
131      __jamon__var_9.renderNoFlush(jamonWriter, regionServer.getRegionServerMetrics().getRegionServerWrapper(), regionServer.getRpcServer().getMetrics().getHBaseServerWrapper());
132    }
133    // 108, 89
134    jamonWriter.write("\n    </section>\n\n    <section>\n    <h2>Block Cache</h2>\n    ");
135    // 113, 5
136    {
137      org.apache.hadoop.hbase.tmpl.regionserver.BlockCacheTmpl __jamon__var_10 = new org.apache.hadoop.hbase.tmpl.regionserver.BlockCacheTmpl(this.getTemplateManager());
138      __jamon__var_10.renderNoFlush(jamonWriter, regionServer.getCacheConfig(), regionServer.getConfiguration() );
139    }
140    // 113, 112
141    jamonWriter.write("\n    </section>\n\n    <section>\n    ");
142    // 117, 5
143    {
144      org.apache.hadoop.hbase.tmpl.common.TaskMonitorTmpl __jamon__var_11 = new org.apache.hadoop.hbase.tmpl.common.TaskMonitorTmpl(this.getTemplateManager());
145      __jamon__var_11.setFilter(filter);
146      __jamon__var_11.setParent("/rs-status" );
147      __jamon__var_11.renderNoFlush(jamonWriter);
148    }
149    // 117, 76
150    jamonWriter.write("\n    </section>\n\n    <section>\n    <h2>Regions</h2>\n    ");
151    // 122, 5
152    {
153      org.apache.hadoop.hbase.tmpl.regionserver.RegionListTmpl __jamon__var_12 = new org.apache.hadoop.hbase.tmpl.regionserver.RegionListTmpl(this.getTemplateManager());
154      __jamon__var_12.renderNoFlush(jamonWriter, regionServer, onlineRegions);
155    }
156    // 122, 86
157    jamonWriter.write("\n    </section>\n\n    <section>\n    <h2>Replication Status</h1>\n    ");
158    // 127, 5
159    {
160      org.apache.hadoop.hbase.tmpl.regionserver.ReplicationStatusTmpl __jamon__var_13 = new org.apache.hadoop.hbase.tmpl.regionserver.ReplicationStatusTmpl(this.getTemplateManager());
161      __jamon__var_13.renderNoFlush(jamonWriter, regionServer);
162    }
163    // 127, 62
164    jamonWriter.write("\n    </section>\n\n    <section>\n    <h2>Software Attributes</h2>\n    <table id=\"attributes_table\" class=\"table table-striped\">\n        <tr>\n            <th>Attribute Name</th>\n            <th>Value</th>\n            <th>Description</th>\n        </tr>\n        <tr>\n            <td>HBase Version</td>\n            <td>");
165    // 140, 17
166    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(org.apache.hadoop.hbase.util.VersionInfo.getVersion()), jamonWriter);
167    // 140, 76
168    jamonWriter.write(", revision=");
169    // 140, 87
170    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(org.apache.hadoop.hbase.util.VersionInfo.getRevision()), jamonWriter);
171    // 140, 147
172    jamonWriter.write("</td>\n            <td>HBase version and revision</td>\n        </tr>\n        <tr>\n            <td>HBase Compiled</td>\n            <td>");
173    // 145, 17
174    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(org.apache.hadoop.hbase.util.VersionInfo.getDate()), jamonWriter);
175    // 145, 73
176    jamonWriter.write(", ");
177    // 145, 75
178    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(org.apache.hadoop.hbase.util.VersionInfo.getUser()), jamonWriter);
179    // 145, 131
180    jamonWriter.write("</td>\n            <td>When HBase version was compiled and by whom</td>\n        </tr>\n        <tr>\n            <td>HBase Source Checksum</td>\n            <td>");
181    // 150, 17
182    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(org.apache.hadoop.hbase.util.VersionInfo.getSrcChecksum()), jamonWriter);
183    // 150, 80
184    jamonWriter.write("</td>\n            <td>HBase source MD5 checksum</td>\n        </tr>\n        <tr>\n            <td>Hadoop Version</td>\n            <td>");
185    // 155, 17
186    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(org.apache.hadoop.util.VersionInfo.getVersion()), jamonWriter);
187    // 155, 70
188    jamonWriter.write(", revision=");
189    // 155, 81
190    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(org.apache.hadoop.util.VersionInfo.getRevision()), jamonWriter);
191    // 155, 135
192    jamonWriter.write("</td>\n            <td>Hadoop version and revision</td>\n        </tr>\n        <tr>\n            <td>Hadoop Compiled</td>\n            <td>");
193    // 160, 17
194    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(org.apache.hadoop.util.VersionInfo.getDate()), jamonWriter);
195    // 160, 67
196    jamonWriter.write(", ");
197    // 160, 69
198    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(org.apache.hadoop.util.VersionInfo.getUser()), jamonWriter);
199    // 160, 119
200    jamonWriter.write("</td>\n            <td>When Hadoop version was compiled and by whom</td>\n        </tr>\n        <tr>\n            <td>Hadoop Source Checksum</td>\n            <td>");
201    // 165, 17
202    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(org.apache.hadoop.util.VersionInfo.getSrcChecksum()), jamonWriter);
203    // 165, 74
204    jamonWriter.write("</td>\n            <td>Hadoop source MD5 checksum</td>\n        </tr>\n        <tr>\n            <td>ZooKeeper Client Version</td>\n            <td>");
205    // 170, 17
206    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(org.apache.zookeeper.Version.getVersion()), jamonWriter);
207    // 170, 64
208    jamonWriter.write(", revision=");
209    // 170, 75
210    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(org.apache.zookeeper.Version.getRevision()), jamonWriter);
211    // 170, 123
212    jamonWriter.write("</td>\n            <td>ZooKeeper client version and revision</td>\n        </tr>\n        <tr>\n            <td>ZooKeeper Client Compiled</td>\n            <td>");
213    // 175, 17
214    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(org.apache.zookeeper.Version.getBuildDate()), jamonWriter);
215    // 175, 66
216    jamonWriter.write("</td>\n            <td>When ZooKeeper client version was compiled</td>\n        </tr>\n        <tr>\n            <td>ZooKeeper Quorum</td>\n            <td>");
217    // 180, 17
218    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(regionServer.getZooKeeper().getQuorum()), jamonWriter);
219    // 180, 62
220    jamonWriter.write("</td>\n            <td>Addresses of all registered ZK servers</td>\n        </tr>\n        <tr>\n            <td>Coprocessors</td>\n            <td>");
221    // 185, 17
222    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(java.util.Arrays.toString(regionServer.getRegionServerCoprocessors())), jamonWriter);
223    // 185, 92
224    jamonWriter.write("</td>\n            <td>Coprocessors currently loaded by this regionserver</td>\n        </tr>\n        <tr>\n            <td>RS Start Time</td>\n            <td>");
225    // 190, 17
226    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(new Date(regionServer.getStartcode())), jamonWriter);
227    // 190, 60
228    jamonWriter.write("</td>\n            <td>Date stamp of when this region server was started</td>\n        </tr>\n        <tr>\n            <td>HBase Master</td>\n            <td>\n                ");
229    // 196, 17
230    if (masterServerName == null )
231    {
232      // 196, 49
233      jamonWriter.write("\n                No master found\n                ");
234    }
235    // 198, 17
236    else
237    {
238      // 198, 24
239      jamonWriter.write("\n                ");
240      // 199, 17
241      
242                String host = masterServerName.getHostname() + ":" + infoPort;
243                String url = "//" + host + "/master-status";
244                
245      // 203, 17
246      jamonWriter.write("<a href=\"");
247      // 203, 26
248      org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(url), jamonWriter);
249      // 203, 35
250      jamonWriter.write("\">");
251      // 203, 37
252      org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(host), jamonWriter);
253      // 203, 47
254      jamonWriter.write("</a>\n                ");
255    }
256    // 204, 23
257    jamonWriter.write("\n            </td>\n            <td>Address of HBase Master</td>\n        </tr>\n    </table>\n    </section>\n    </div>\n</div>\n<script src=\"/static/js/jquery.min.js\" type=\"text/javascript\"></script>\n<script src=\"/static/js/jquery.tablesorter.min.js\" type=\"text/javascript\"></script>\n<script src=\"/static/js/bootstrap.min.js\" type=\"text/javascript\"></script>\n<script src=\"/static/js/tab.js\" type=\"text/javascript\"></script>\n<script>\n$(document).ready(function()\n    {\n        $.tablesorter.addParser({\n            id: 'filesize',\n            is: function(s) {\n                return s.match(new RegExp( /([\\.0-9]+)\\ (B|KB|MB|GB|TB)/ ));\n            },\n            format: function(s) {\n                var suf = s.match(new RegExp( /(KB|B|GB|MB|TB)$/ ))[1];\n                var num = parseFloat(s.match( new RegExp( /([\\.0-9]+)\\ (B|KB|MB|GB|TB)/ ))[0]);\n                switch(suf) {\n                    case 'B':\n                        return num;\n                    case 'KB':\n                        return num * 1024;\n                    case 'MB':\n                        return num * 1024 * 1024;\n                    case 'GB':\n                        return num * 1024 * 1024 * 1024;\n                    case 'TB':\n                        return num * 1024 * 1024 * 1024 * 1024;\n                }\n            },\n            type: 'numeric'\n        });\n        $(\"#baseStatsTable\").tablesorter();\n        $(\"#requestStatsTable\").tablesorter();\n        $(\"#storeStatsTable\").tablesorter();\n        $(\"#compactionStatsTable\").tablesorter();\n        $(\"#memstoreStatsTable\").tablesorter();\n    }\n);\n</script>\n</body>\n</html>\n");
258  }
259  
260  
261}