View Javadoc

1   // Autogenerated Jamon implementation
2   // /home/apurtell/src/hbase/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.jamon
3   
4   package org.apache.hadoop.hbase.tmpl.master;
5   
6   // 33, 1
7   import java.util.*;
8   // 34, 1
9   import org.apache.hadoop.util.StringUtils;
10  // 35, 1
11  import org.apache.hadoop.hbase.util.Bytes;
12  // 36, 1
13  import org.apache.hadoop.hbase.util.JvmVersion;
14  // 37, 1
15  import org.apache.hadoop.hbase.util.FSUtils;
16  // 38, 1
17  import org.apache.hadoop.hbase.master.HMaster;
18  // 39, 1
19  import org.apache.hadoop.hbase.master.AssignmentManager;
20  // 40, 1
21  import org.apache.hadoop.hbase.master.ServerManager;
22  // 41, 1
23  import org.apache.hadoop.hbase.HConstants;
24  // 42, 1
25  import org.apache.hadoop.hbase.NamespaceDescriptor;
26  // 43, 1
27  import org.apache.hadoop.hbase.ServerLoad;
28  // 44, 1
29  import org.apache.hadoop.hbase.ServerName;
30  // 45, 1
31  import org.apache.hadoop.hbase.client.HBaseAdmin;
32  // 46, 1
33  import org.apache.hadoop.hbase.client.HConnectionManager;
34  // 47, 1
35  import org.apache.hadoop.hbase.HRegionInfo;
36  // 48, 1
37  import org.apache.hadoop.hbase.master.RegionState;
38  // 49, 1
39  import org.apache.hadoop.hbase.HTableDescriptor;
40  // 50, 1
41  import org.apache.hadoop.hbase.HBaseConfiguration;
42  // 51, 1
43  import org.apache.hadoop.hbase.TableName;
44  // 52, 1
45  import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription;
46  // 53, 1
47  import org.apache.hadoop.hbase.master.DeadServer;
48  // 54, 1
49  import org.apache.hadoop.hbase.protobuf.ProtobufUtil;
50  // 55, 1
51  import org.apache.hadoop.hbase.security.visibility.VisibilityConstants;
52  // 56, 1
53  import org.apache.hadoop.hbase.security.access.AccessControlLists;
54  
55  public class MasterStatusTmplImpl
56    extends org.jamon.AbstractTemplateImpl
57    implements org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl.Intf
58  
59  {
60    private final HMaster master;
61    private final HBaseAdmin admin;
62    private final Set<ServerName> deadServers;
63    private final String format;
64    private final ServerName metaLocation;
65    private final boolean catalogJanitorEnabled;
66    private final List<ServerName> servers;
67    private final AssignmentManager assignmentManager;
68    private final String filter;
69    private final Map<String,Integer> frags;
70    private final ServerManager serverManager;
71    // 68, 1
72    
73    public String formatZKString() {
74      StringBuilder quorums = new StringBuilder();
75      String zkQuorum = master.getZooKeeperWatcher().getQuorum();
76  
77      if (null == zkQuorum) {
78        return quorums.toString();
79      }
80  
81      String[] zks = zkQuorum.split(",");
82  
83      if (zks.length == 0) {
84        return quorums.toString();
85      }
86  
87      for(int i = 0; i < zks.length; ++i) {
88        quorums.append(zks[i].trim()).append(",");
89  
90        if ((i+1) % 4 == 0 && i != (zks.length - 1)) {
91          quorums.append("<br/>");
92        }
93      }
94  
95      quorums.setLength(quorums.length() - 1);
96      return quorums.toString();
97    }
98  
99    protected static org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl.ImplData __jamon_setOptionalArguments(org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl.ImplData p_implData)
100   {
101     if(! p_implData.getDeadServers__IsNotDefault())
102     {
103       p_implData.setDeadServers(null);
104     }
105     if(! p_implData.getFormat__IsNotDefault())
106     {
107       p_implData.setFormat("html");
108     }
109     if(! p_implData.getMetaLocation__IsNotDefault())
110     {
111       p_implData.setMetaLocation(null);
112     }
113     if(! p_implData.getCatalogJanitorEnabled__IsNotDefault())
114     {
115       p_implData.setCatalogJanitorEnabled(true);
116     }
117     if(! p_implData.getServers__IsNotDefault())
118     {
119       p_implData.setServers(null);
120     }
121     if(! p_implData.getAssignmentManager__IsNotDefault())
122     {
123       p_implData.setAssignmentManager(null);
124     }
125     if(! p_implData.getFilter__IsNotDefault())
126     {
127       p_implData.setFilter("general");
128     }
129     if(! p_implData.getFrags__IsNotDefault())
130     {
131       p_implData.setFrags(null);
132     }
133     if(! p_implData.getServerManager__IsNotDefault())
134     {
135       p_implData.setServerManager(null);
136     }
137     return p_implData;
138   }
139   public MasterStatusTmplImpl(org.jamon.TemplateManager p_templateManager, org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl.ImplData p_implData)
140   {
141     super(p_templateManager, __jamon_setOptionalArguments(p_implData));
142     master = p_implData.getMaster();
143     admin = p_implData.getAdmin();
144     deadServers = p_implData.getDeadServers();
145     format = p_implData.getFormat();
146     metaLocation = p_implData.getMetaLocation();
147     catalogJanitorEnabled = p_implData.getCatalogJanitorEnabled();
148     servers = p_implData.getServers();
149     assignmentManager = p_implData.getAssignmentManager();
150     filter = p_implData.getFilter();
151     frags = p_implData.getFrags();
152     serverManager = p_implData.getServerManager();
153   }
154   
155   public void renderNoFlush(@SuppressWarnings({"unused","hiding"}) final java.io.Writer jamonWriter)
156     throws java.io.IOException
157   {
158     // 59, 1
159     if (format.equals("json") )
160     {
161       // 59, 30
162       jamonWriter.write("\n  ");
163       // 60, 3
164       {
165         org.apache.hadoop.hbase.tmpl.common.TaskMonitorTmpl __jamon__var_0 = new org.apache.hadoop.hbase.tmpl.common.TaskMonitorTmpl(this.getTemplateManager());
166         __jamon__var_0.setFilter(filter);
167         __jamon__var_0.setFormat("json" );
168         __jamon__var_0.renderNoFlush(jamonWriter);
169       }
170       // 60, 68
171       jamonWriter.write("\n  ");
172       // 61, 3
173       return; 
174     }
175     // 62, 7
176     jamonWriter.write("\n");
177     // 63, 1
178     
179 ServerManager serverManager = master.getServerManager();
180 AssignmentManager assignmentManager = master.getAssignmentManager();
181 
182     // 96, 1
183     jamonWriter.write("<!--[if IE]>\n<!DOCTYPE html>\n<![endif]-->\n<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"utf-8\">\n    <title>Master: ");
184     // 103, 20
185     org.jamon.escaping.Escaping.NONE.write(org.jamon.emit.StandardEmitter.valueOf(master.getServerName().getHostname()), jamonWriter);
186     // 103, 62
187     jamonWriter.write("</title>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <meta name=\"description\" content=\"\">\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\">\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=\"/master-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=\"/\">Home</a></li>\n                <li><a href=\"/tablesDetailed.jsp\">Table Details</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                ");
188     // 131, 17
189     if (HBaseConfiguration.isShowConfInServlet())
190     {
191       // 131, 64
192       jamonWriter.write("\n                <li><a href=\"/conf\">HBase Configuration</a></li>\n                ");
193     }
194     // 133, 23
195     jamonWriter.write("\n               </ul>\n            </div><!--/.nav-collapse -->\n        </div>\n    </div>\n\n    <div class=\"container\">\n\t");
196     // 140, 2
197     if (master.isActiveMaster() )
198     {
199       // 140, 33
200       jamonWriter.write("\n        <div class=\"row inner_header\">\n            <div class=\"page-header\">\n                <h1>Master <small>");
201       // 143, 35
202       org.jamon.escaping.Escaping.NONE.write(org.jamon.emit.StandardEmitter.valueOf(master.getServerName().getHostname()), jamonWriter);
203       // 143, 77
204       jamonWriter.write(" </small></h1>\n            </div>\n        </div>\n\n        <div class=\"row\">\n        <!-- Various warnings that cluster admins should be aware of -->\n        ");
205       // 149, 9
206       if (JvmVersion.isBadJvmVersion() )
207       {
208         // 149, 45
209         jamonWriter.write("\n          <div class=\"alert alert-error\">\n          Your current JVM version ");
210         // 151, 36
211         org.jamon.escaping.Escaping.NONE.write(org.jamon.emit.StandardEmitter.valueOf(System.getProperty("java.version")), jamonWriter);
212         // 151, 76
213         jamonWriter.write(" is known to be\n          unstable with HBase. Please see the\n          <a href=\"http://wiki.apache.org/hadoop/Hbase/Troubleshooting#A18\">HBase wiki</a>\n          for details.\n          </div>\n        ");
214       }
215       // 156, 15
216       jamonWriter.write("\n        ");
217       // 157, 9
218       if (master.isInitialized() && !catalogJanitorEnabled )
219       {
220         // 157, 65
221         jamonWriter.write("\n          <div class=\"alert alert-error\">\n          Please note that your cluster is running with the CatalogJanitor disabled. It can be\n          re-enabled from the hbase shell by running the command 'catalogjanitor_switch true'\n          </div>\n        ");
222       }
223       // 162, 15
224       jamonWriter.write("\n\n        <section>\n            <h2>Region Servers</h2>\n            ");
225       // 166, 13
226       {
227         org.apache.hadoop.hbase.tmpl.master.RegionServerListTmpl __jamon__var_1 = new org.apache.hadoop.hbase.tmpl.master.RegionServerListTmpl(this.getTemplateManager());
228         __jamon__var_1.setServers(servers );
229         __jamon__var_1.renderNoFlush(jamonWriter, master);
230       }
231       // 166, 74
232       jamonWriter.write("\n\n            ");
233       // 168, 13
234       if ((deadServers != null) )
235       {
236         // 168, 42
237         jamonWriter.write("\n                ");
238         // 169, 17
239         {
240           // 169, 17
241           __jamon_innerUnit__deadRegionServers(jamonWriter);
242         }
243         // 169, 40
244         jamonWriter.write("\n            ");
245       }
246       // 170, 19
247       jamonWriter.write("\n        </section>\n        <section>\n            ");
248       // 173, 13
249       {
250         org.apache.hadoop.hbase.tmpl.master.BackupMasterStatusTmpl __jamon__var_2 = new org.apache.hadoop.hbase.tmpl.master.BackupMasterStatusTmpl(this.getTemplateManager());
251         __jamon__var_2.renderNoFlush(jamonWriter, master );
252       }
253       // 173, 58
254       jamonWriter.write("\n        </section>\n        <section>\n            <h2>Tables</h2>\n            <div class=\"tabbable\">\n                <ul class=\"nav nav-pills\">\n                    <li class=\"active\">\n                        <a href=\"#tab_userTables\" data-toggle=\"tab\">User Tables</a>\n                    </li>\n                    <li class=\"\">\n                        <a href=\"#tab_catalogTables\" data-toggle=\"tab\">System Tables</a>\n                    </li>\n                    <li class=\"\">\n                        <a href=\"#tab_userSnapshots\" data-toggle=\"tab\">Snapshots</a>\n                    </li>\n                </ul>\n                <div class=\"tab-content\" style=\"padding-bottom: 9px; border-bottom: 1px solid #ddd;\">\n                    <div class=\"tab-pane active\" id=\"tab_userTables\">\n                        ");
255       // 191, 25
256       if ((metaLocation != null) )
257       {
258         // 191, 55
259         jamonWriter.write("\n                            ");
260         // 192, 29
261         {
262           // 192, 29
263           __jamon_innerUnit__userTables(jamonWriter);
264         }
265         // 192, 45
266         jamonWriter.write("\n                        ");
267       }
268       // 193, 31
269       jamonWriter.write("\n                    </div>\n                    <div class=\"tab-pane\" id=\"tab_catalogTables\">\n                        ");
270       // 196, 25
271       if ((metaLocation != null) )
272       {
273         // 196, 55
274         jamonWriter.write("\n                            ");
275         // 197, 29
276         {
277           // 197, 29
278           __jamon_innerUnit__catalogTables(jamonWriter);
279         }
280         // 197, 48
281         jamonWriter.write("\n                        ");
282       }
283       // 198, 31
284       jamonWriter.write("\n                    </div>\n                    <div class=\"tab-pane\" id=\"tab_userSnapshots\">\n                        ");
285       // 201, 25
286       {
287         // 201, 25
288         __jamon_innerUnit__userSnapshots(jamonWriter);
289       }
290       // 201, 44
291       jamonWriter.write("\n                    </div>\n                </div>\n            </div>\n        </section>\n        ");
292       // 206, 9
293       {
294         org.apache.hadoop.hbase.tmpl.master.AssignmentManagerStatusTmpl __jamon__var_3 = new org.apache.hadoop.hbase.tmpl.master.AssignmentManagerStatusTmpl(this.getTemplateManager());
295         __jamon__var_3.renderNoFlush(jamonWriter, master.getAssignmentManager());
296       }
297       // 206, 90
298       jamonWriter.write("\n\t");
299     }
300     // 207, 2
301     else
302     {
303       // 207, 9
304       jamonWriter.write("\n        <section>\n            ");
305       // 209, 13
306       {
307         org.apache.hadoop.hbase.tmpl.master.BackupMasterStatusTmpl __jamon__var_4 = new org.apache.hadoop.hbase.tmpl.master.BackupMasterStatusTmpl(this.getTemplateManager());
308         __jamon__var_4.renderNoFlush(jamonWriter, master );
309       }
310       // 209, 58
311       jamonWriter.write("\n        </section>\n\t");
312     }
313     // 211, 8
314     jamonWriter.write("    \n\n\n        <section>\n            ");
315     // 215, 13
316     {
317       org.apache.hadoop.hbase.tmpl.common.TaskMonitorTmpl __jamon__var_5 = new org.apache.hadoop.hbase.tmpl.common.TaskMonitorTmpl(this.getTemplateManager());
318       __jamon__var_5.setFilter(filter );
319       __jamon__var_5.renderNoFlush(jamonWriter);
320     }
321     // 215, 61
322     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>");
323     // 228, 25
324     org.jamon.escaping.Escaping.NONE.write(org.jamon.emit.StandardEmitter.valueOf(org.apache.hadoop.hbase.util.VersionInfo.getVersion()), jamonWriter);
325     // 228, 84
326     jamonWriter.write(", r");
327     // 228, 87
328     org.jamon.escaping.Escaping.NONE.write(org.jamon.emit.StandardEmitter.valueOf(org.apache.hadoop.hbase.util.VersionInfo.getRevision()), jamonWriter);
329     // 228, 147
330     jamonWriter.write("</td><td>HBase version and revision</td>\n                </tr>\n                <tr>\n                    <td>HBase Compiled</td>\n                    <td>");
331     // 232, 25
332     org.jamon.escaping.Escaping.NONE.write(org.jamon.emit.StandardEmitter.valueOf(org.apache.hadoop.hbase.util.VersionInfo.getDate()), jamonWriter);
333     // 232, 81
334     jamonWriter.write(", ");
335     // 232, 83
336     org.jamon.escaping.Escaping.NONE.write(org.jamon.emit.StandardEmitter.valueOf(org.apache.hadoop.hbase.util.VersionInfo.getUser()), jamonWriter);
337     // 232, 139
338     jamonWriter.write("</td>\n                    <td>When HBase version was compiled and by whom</td>\n                </tr>\n                <tr>\n                    <td>Hadoop Version</td>\n                    <td>");
339     // 237, 25
340     org.jamon.escaping.Escaping.NONE.write(org.jamon.emit.StandardEmitter.valueOf(org.apache.hadoop.util.VersionInfo.getVersion()), jamonWriter);
341     // 237, 78
342     jamonWriter.write(", r");
343     // 237, 81
344     org.jamon.escaping.Escaping.NONE.write(org.jamon.emit.StandardEmitter.valueOf(org.apache.hadoop.util.VersionInfo.getRevision()), jamonWriter);
345     // 237, 135
346     jamonWriter.write("</td>\n                    <td>Hadoop version and revision</td>\n                </tr>\n                <tr>\n                    <td>Hadoop Compiled</td>\n                    <td>");
347     // 242, 25
348     org.jamon.escaping.Escaping.NONE.write(org.jamon.emit.StandardEmitter.valueOf(org.apache.hadoop.util.VersionInfo.getDate()), jamonWriter);
349     // 242, 75
350     jamonWriter.write(", ");
351     // 242, 77
352     org.jamon.escaping.Escaping.NONE.write(org.jamon.emit.StandardEmitter.valueOf(org.apache.hadoop.util.VersionInfo.getUser()), jamonWriter);
353     // 242, 127
354     jamonWriter.write("</td>\n                    <td>When Hadoop version was compiled and by whom</td>\n                </tr>\n                <tr>\n                    <td>Zookeeper Quorum</td>\n                    <td> ");
355     // 248, 26
356     org.jamon.escaping.Escaping.NONE.write(org.jamon.emit.StandardEmitter.valueOf(formatZKString()), jamonWriter);
357     // 248, 48
358     jamonWriter.write(" </td>\n                    <td>Addresses of all registered ZK servers. For more, see <a href=\"/zk.jsp\">zk dump</a>.</td>\n                </tr>\n                <tr>\n                    <td>Zookeeper Base Path</td>\n                    <td> ");
359     // 253, 26
360     org.jamon.escaping.Escaping.NONE.write(org.jamon.emit.StandardEmitter.valueOf(master.getZooKeeper().getBaseZNode()), jamonWriter);
361     // 253, 68
362     jamonWriter.write("</td>\n                    <td>Root node of this cluster in ZK.</td>\n                </tr>\n                <tr>\n                    <td>HBase Root Directory</td>\n                    <td>");
363     // 258, 25
364     org.jamon.escaping.Escaping.NONE.write(org.jamon.emit.StandardEmitter.valueOf(FSUtils.getRootDir(master.getConfiguration()).toString()), jamonWriter);
365     // 258, 87
366     jamonWriter.write("</td>\n                    <td>Location of HBase home directory</td>\n                </tr>\n                <tr>\n                    <td>HMaster Start Time</td>\n                    <td>");
367     // 263, 25
368     org.jamon.escaping.Escaping.NONE.write(org.jamon.emit.StandardEmitter.valueOf(new Date(master.getMasterStartTime())), jamonWriter);
369     // 263, 68
370     jamonWriter.write("</td>\n                    <td>Date stamp of when this HMaster was started</td>\n                </tr>\n                ");
371     // 266, 17
372     if (master.isActiveMaster() )
373     {
374       // 266, 48
375       jamonWriter.write("\n\t                <tr>\n\t                    <td>HMaster Active Time</td>\n\t                    <td>");
376       // 269, 26
377       org.jamon.escaping.Escaping.NONE.write(org.jamon.emit.StandardEmitter.valueOf(new Date(master.getMasterActiveTime())), jamonWriter);
378       // 269, 70
379       jamonWriter.write("</td>\n\t                    <td>Date stamp of when this HMaster became active</td>\n\t                </tr>\n\t                <tr>\n\t                    <td>HBase Cluster ID</td>\n\t                    <td>");
380       // 274, 26
381       org.jamon.escaping.Escaping.NONE.write(org.jamon.emit.StandardEmitter.valueOf(master.getClusterId() != null ? master.getClusterId() : "Not set"), jamonWriter);
382       // 274, 97
383       jamonWriter.write("</td>\n\t                    <td>Unique identifier generated for each HBase cluster</td>\n\t                </tr>\n\t                <tr>\n\t                    <td>Load average</td>\n\t                    <td>");
384       // 279, 26
385       org.jamon.escaping.Escaping.NONE.write(org.jamon.emit.StandardEmitter.valueOf(StringUtils.limitDecimalTo2(master.getServerManager().getAverageLoad())), jamonWriter);
386       // 279, 103
387       jamonWriter.write("</td>\n\t                    <td>Average number of regions per regionserver. Naive computation.</td>\n\t                </tr>\n\t                ");
388       // 282, 18
389       if (frags != null )
390       {
391         // 282, 39
392         jamonWriter.write("\n\t                <tr>\n\t                    <td>Fragmentation</td>\n\t                    <td>");
393         // 285, 26
394         org.jamon.escaping.Escaping.NONE.write(org.jamon.emit.StandardEmitter.valueOf(frags.get("-TOTAL-") != null ? frags.get("-TOTAL-").intValue() + "%" : "n/a"), jamonWriter);
395         // 285, 108
396         jamonWriter.write("</td>\n\t                    <td>Overall fragmentation of all tables, including hbase:meta</td>\n\t                </tr>\n\t                ");
397       }
398       // 288, 24
399       jamonWriter.write("\n\t                <tr>\n\t                    <td>Coprocessors</td>\n\t                    <td>");
400       // 291, 26
401       org.jamon.escaping.Escaping.NONE.write(org.jamon.emit.StandardEmitter.valueOf(java.util.Arrays.toString(master.getCoprocessors())), jamonWriter);
402       // 291, 83
403       jamonWriter.write("</td>\n\t                    <td>Coprocessors currently loaded by the master</td>\n\t                </tr>\n                ");
404     }
405     // 294, 23
406     jamonWriter.write("\n            </table>\n        </section>\n        </div>\n    </div> <!-- /container -->\n\n    <script src=\"/static/js/jquery.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  </body>\n</html>\n\n");
407   }
408   
409   
410   // 402, 1
411   private void __jamon_innerUnit__userSnapshots(@SuppressWarnings({"unused","hiding"}) final java.io.Writer jamonWriter)
412     throws java.io.IOException
413   {
414     // 403, 1
415     
416    List<SnapshotDescription> snapshots = admin.listSnapshots();
417 
418     // 406, 1
419     if ((snapshots != null && snapshots.size() > 0))
420     {
421       // 406, 51
422       jamonWriter.write("\n<table class=\"table table-striped\">\n    <tr>\n        <th>Snapshot Name</th>\n        <th>Table</th>\n        <th>Creation Time</th>\n    </tr>\n    ");
423       // 413, 5
424       for (SnapshotDescription snapshotDesc : snapshots)
425       {
426         // 413, 57
427         jamonWriter.write("\n    ");
428         // 414, 5
429         
430         TableName snapshotTable = TableName.valueOf(snapshotDesc.getTable());
431     
432         // 417, 5
433         jamonWriter.write("<tr>\n        <td><a href=\"snapshot.jsp?name=");
434         // 418, 40
435         org.jamon.escaping.Escaping.NONE.write(org.jamon.emit.StandardEmitter.valueOf(snapshotDesc.getName()), jamonWriter);
436         // 418, 68
437         jamonWriter.write("\">");
438         // 418, 70
439         org.jamon.escaping.Escaping.NONE.write(org.jamon.emit.StandardEmitter.valueOf(snapshotDesc.getName()), jamonWriter);
440         // 418, 98
441         jamonWriter.write("</a> </td>\n        <td><a href=\"table.jsp?name=");
442         // 419, 37
443         org.jamon.escaping.Escaping.NONE.write(org.jamon.emit.StandardEmitter.valueOf(snapshotTable.getNameAsString()), jamonWriter);
444         // 419, 74
445         jamonWriter.write("\">");
446         // 419, 76
447         org.jamon.escaping.Escaping.NONE.write(org.jamon.emit.StandardEmitter.valueOf(snapshotTable.getNameAsString()), jamonWriter);
448         // 419, 113
449         jamonWriter.write("</a>\n        </td>\n        <td>");
450         // 421, 13
451         org.jamon.escaping.Escaping.NONE.write(org.jamon.emit.StandardEmitter.valueOf(new Date(snapshotDesc.getCreationTime())), jamonWriter);
452         // 421, 59
453         jamonWriter.write("</td>\n    </tr>\n    ");
454       }
455       // 423, 12
456       jamonWriter.write("\n    <p>");
457       // 424, 8
458       org.jamon.escaping.Escaping.NONE.write(org.jamon.emit.StandardEmitter.valueOf(snapshots.size()), jamonWriter);
459       // 424, 30
460       jamonWriter.write(" snapshot(s) in set.</p>\n</table>\n");
461     }
462     // 426, 7
463     jamonWriter.write("\n");
464   }
465   
466   
467   // 306, 1
468   private void __jamon_innerUnit__catalogTables(@SuppressWarnings({"unused","hiding"}) final java.io.Writer jamonWriter)
469     throws java.io.IOException
470   {
471     // 307, 1
472     
473  HTableDescriptor[] sysTables = admin.listTableDescriptorsByNamespace(NamespaceDescriptor
474  .SYSTEM_NAMESPACE_NAME_STR);
475 
476     // 312, 1
477     jamonWriter.write("<table class=\"table table-striped\">\n<tr>\n    <th>Table Name</th>\n    ");
478     // 315, 5
479     if ((frags != null) )
480     {
481       // 315, 28
482       jamonWriter.write("\n        <th title=\"Fragmentation - Will be 0% after a major compaction and fluctuate during normal usage.\">Frag.</th>\n    ");
483     }
484     // 317, 11
485     jamonWriter.write("\n    <th>Description</th>\n</tr>\n");
486     // 320, 1
487     for (HTableDescriptor systemTable : sysTables)
488     {
489       // 320, 49
490       jamonWriter.write("\n<tr>\n");
491       // 322, 1
492       TableName tableName = systemTable.getTableName();
493       // 323, 5
494       jamonWriter.write("<td><a href=\"table.jsp?name=");
495       // 323, 33
496       org.jamon.escaping.Escaping.NONE.write(org.jamon.emit.StandardEmitter.valueOf(tableName), jamonWriter);
497       // 323, 48
498       jamonWriter.write("\">");
499       // 323, 50
500       org.jamon.escaping.Escaping.NONE.write(org.jamon.emit.StandardEmitter.valueOf(tableName), jamonWriter);
501       // 323, 65
502       jamonWriter.write("</a></td>\n    ");
503       // 324, 5
504       if ((frags != null))
505       {
506         // 324, 27
507         jamonWriter.write("\n        <td align=\"center\">");
508         // 325, 28
509         org.jamon.escaping.Escaping.NONE.write(org.jamon.emit.StandardEmitter.valueOf(frags.get(tableName.getNameAsString()) != null ? frags.get(tableName.getNameAsString())
510         .intValue() + "%" : "n/a"), jamonWriter);
511         // 326, 37
512         jamonWriter.write("</td>\n    ");
513       }
514       // 327, 11
515       jamonWriter.write("\n    ");
516       // 328, 5
517       String description = null;
518         if (tableName.equals(TableName.META_TABLE_NAME)){
519             description = "The hbase:meta table holds references to all User Table regions";
520         } else if (tableName.equals(AccessControlLists.ACL_TABLE_NAME)){
521             description = "The hbase:acl table holds information about acl";
522 	 } else if (tableName.equals(VisibilityConstants.LABELS_TABLE_NAME)){
523 	     description = "The hbase:labels table holds information about visibility labels";
524         } else {
525             description = "The .NAMESPACE. table holds information about namespaces.";
526         }
527     
528       // 339, 5
529       jamonWriter.write("<td>");
530       // 339, 9
531       org.jamon.escaping.Escaping.NONE.write(org.jamon.emit.StandardEmitter.valueOf(description), jamonWriter);
532       // 339, 26
533       jamonWriter.write("</td>\n</tr>\n");
534     }
535     // 341, 8
536     jamonWriter.write("\n</table>\n");
537   }
538   
539   
540   // 345, 1
541   private void __jamon_innerUnit__userTables(@SuppressWarnings({"unused","hiding"}) final java.io.Writer jamonWriter)
542     throws java.io.IOException
543   {
544     // 346, 1
545     
546    HTableDescriptor[] tables = admin.listTables();
547 
548     // 349, 1
549     if ((tables != null && tables.length > 0))
550     {
551       // 349, 45
552       jamonWriter.write("\n<table class=\"table table-striped\">\n    <tr>\n        <th>Namespace</th>\n        <th>Table Name</th>\n        ");
553       // 354, 9
554       if ((frags != null) )
555       {
556         // 354, 32
557         jamonWriter.write("\n            <th title=\"Fragmentation - Will be 0% after a major compaction and fluctuate during normal usage.\">Frag.</th>\n        ");
558       }
559       // 356, 15
560       jamonWriter.write("\n        <th>Online Regions</th>\n        <th>Offline Regions</th>\n        <th>Failed Regions</th>\n        <th>Split Regions</th>\n        <th>Other Regions</th>\n        <th>Description</th>\n    </tr>\n    ");
561       // 364, 5
562       for (HTableDescriptor htDesc : tables)
563       {
564         // 364, 45
565         jamonWriter.write("\n    ");
566         // 365, 5
567         
568       Map<RegionState.State, List<HRegionInfo>> tableRegions =
569           master.getAssignmentManager().getRegionStates()
570             .getRegionByStateOfTable(htDesc.getTableName());
571       int openRegionsCount = tableRegions.get(RegionState.State.OPEN).size();
572       int offlineRegionsCount = tableRegions.get(RegionState.State.OFFLINE).size();
573       int splitRegionsCount = tableRegions.get(RegionState.State.SPLIT).size();
574       int failedRegionsCount = tableRegions.get(RegionState.State.FAILED_OPEN).size()
575              + tableRegions.get(RegionState.State.FAILED_CLOSE).size();
576       int otherRegionsCount = 0;
577       for (List<HRegionInfo> list: tableRegions.values()) {
578          otherRegionsCount += list.size();
579       }
580       // now subtract known states
581       otherRegionsCount = otherRegionsCount - openRegionsCount
582                      - failedRegionsCount - offlineRegionsCount
583                      - splitRegionsCount;
584     
585         // 383, 5
586         jamonWriter.write("<tr>\n        <td>");
587         // 384, 13
588         org.jamon.escaping.Escaping.NONE.write(org.jamon.emit.StandardEmitter.valueOf(htDesc.getTableName().getNamespaceAsString()), jamonWriter);
589         // 384, 63
590         jamonWriter.write("</td>\n        <td><a href=table.jsp?name=");
591         // 385, 36
592         org.jamon.escaping.Escaping.NONE.write(org.jamon.emit.StandardEmitter.valueOf(htDesc.getTableName().getNameAsString()), jamonWriter);
593         // 385, 81
594         jamonWriter.write(">");
595         // 385, 82
596         org.jamon.escaping.Escaping.NONE.write(org.jamon.emit.StandardEmitter.valueOf(htDesc.getTableName().getQualifierAsString()), jamonWriter);
597         // 385, 132
598         jamonWriter.write("</a> </td>\n        ");
599         // 386, 9
600         if ((frags != null) )
601         {
602           // 386, 32
603           jamonWriter.write("\n            <td align=\"center\">");
604           // 387, 32
605           org.jamon.escaping.Escaping.NONE.write(org.jamon.emit.StandardEmitter.valueOf(frags.get(htDesc.getTableName().getNameAsString()) != null ? frags.get(htDesc.getTableName().getQualifierAsString()).intValue() + "%" : "n/a"), jamonWriter);
606           // 387, 179
607           jamonWriter.write("</td>\n        ");
608         }
609         // 388, 15
610         jamonWriter.write("\n        <td>");
611         // 389, 13
612         org.jamon.escaping.Escaping.NONE.write(org.jamon.emit.StandardEmitter.valueOf(openRegionsCount), jamonWriter);
613         // 389, 35
614         jamonWriter.write("</td>\n        <td>");
615         // 390, 13
616         org.jamon.escaping.Escaping.NONE.write(org.jamon.emit.StandardEmitter.valueOf(offlineRegionsCount), jamonWriter);
617         // 390, 38
618         jamonWriter.write("</td>\n        <td>");
619         // 391, 13
620         org.jamon.escaping.Escaping.NONE.write(org.jamon.emit.StandardEmitter.valueOf(failedRegionsCount), jamonWriter);
621         // 391, 37
622         jamonWriter.write("</td>\n        <td>");
623         // 392, 13
624         org.jamon.escaping.Escaping.NONE.write(org.jamon.emit.StandardEmitter.valueOf(splitRegionsCount), jamonWriter);
625         // 392, 36
626         jamonWriter.write("</td>\n        <td>");
627         // 393, 13
628         org.jamon.escaping.Escaping.NONE.write(org.jamon.emit.StandardEmitter.valueOf(otherRegionsCount), jamonWriter);
629         // 393, 36
630         jamonWriter.write("</td>\n        <td>");
631         // 394, 13
632         org.jamon.escaping.Escaping.NONE.write(org.jamon.emit.StandardEmitter.valueOf(htDesc.toStringCustomizedValues()), jamonWriter);
633         // 394, 52
634         jamonWriter.write("</td>\n    </tr>\n    ");
635       }
636       // 396, 12
637       jamonWriter.write("\n    <p>");
638       // 397, 8
639       org.jamon.escaping.Escaping.NONE.write(org.jamon.emit.StandardEmitter.valueOf(tables.length), jamonWriter);
640       // 397, 27
641       jamonWriter.write(" table(s) in set. [<a href=tablesDetailed.jsp>Details</a>]</p>\n</table>\n");
642     }
643     // 399, 7
644     jamonWriter.write("\n");
645   }
646   
647   
648   // 430, 1
649   private void __jamon_innerUnit__deadRegionServers(@SuppressWarnings({"unused","hiding"}) final java.io.Writer jamonWriter)
650     throws java.io.IOException
651   {
652     // 432, 1
653     if ((deadServers != null && deadServers.size() > 0))
654     {
655       // 432, 55
656       jamonWriter.write("\n<h2>Dead Region Servers</h2>\n<table class=\"table table-striped\">\n    <tr>\n        <th></th>\n        <th>ServerName</th>\n        <th>Stop time</th>\n    </tr>\n    ");
657       // 440, 5
658       
659        DeadServer deadServerUtil = master.getServerManager().getDeadServers();
660        ServerName [] deadServerNames = deadServers.toArray(new ServerName[deadServers.size()]);
661          Arrays.sort(deadServerNames);
662          for (ServerName deadServerName: deadServerNames) {
663     
664       // 446, 5
665       jamonWriter.write("<tr>\n    \t<th></th>\n        <td>");
666       // 448, 13
667       org.jamon.escaping.Escaping.NONE.write(org.jamon.emit.StandardEmitter.valueOf(deadServerName), jamonWriter);
668       // 448, 33
669       jamonWriter.write("</td>\n        <td>");
670       // 449, 13
671       org.jamon.escaping.Escaping.NONE.write(org.jamon.emit.StandardEmitter.valueOf(deadServerUtil.getTimeOfDeath(deadServerName)), jamonWriter);
672       // 449, 64
673       jamonWriter.write("</td>\n    </tr>\n    ");
674       // 451, 5
675       
676         }
677     
678       // 454, 5
679       jamonWriter.write("<tr>\n        <th>Total: </th>\n        <td>servers: ");
680       // 456, 22
681       org.jamon.escaping.Escaping.NONE.write(org.jamon.emit.StandardEmitter.valueOf(deadServers.size()), jamonWriter);
682       // 456, 46
683       jamonWriter.write("</td>\n        <th></th>\n    </tr>\n</table>\n");
684     }
685     // 460, 7
686     jamonWriter.write("\n");
687     // 461, 1
688     
689    HConnectionManager.deleteConnection(admin.getConfiguration());
690 
691   }
692   
693   
694 }