View Javadoc

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