View Javadoc

1   // Autogenerated Jamon implementation
2   // /grid/0/jenkins/workspace/HDP-parallel-centos6/SOURCES/hbase/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/RegionServerListTmpl.jamon
3   
4   package org.apache.hadoop.hbase.tmpl.master;
5   
6   // 27, 9
7   import java.util.*;
8   // 28, 9
9   import org.apache.hadoop.util.StringUtils;
10  // 29, 9
11  import org.apache.hadoop.hbase.util.Bytes;
12  // 30, 9
13  import org.apache.hadoop.hbase.util.JvmVersion;
14  // 31, 9
15  import org.apache.hadoop.hbase.util.FSUtils;
16  // 32, 9
17  import org.apache.hadoop.hbase.master.HMaster;
18  // 33, 9
19  import org.apache.hadoop.hbase.HConstants;
20  // 34, 9
21  import org.apache.hadoop.hbase.ServerLoad;
22  // 35, 9
23  import org.apache.hadoop.hbase.ServerName;
24  // 36, 9
25  import org.apache.hadoop.hbase.client.HBaseAdmin;
26  // 37, 9
27  import org.apache.hadoop.hbase.client.HConnectionManager;
28  // 38, 9
29  import org.apache.hadoop.hbase.HTableDescriptor;
30  // 39, 9
31  import org.apache.hadoop.hbase.HBaseConfiguration;
32  // 40, 9
33  import org.apache.hadoop.hbase.util.VersionInfo;
34  // 41, 9
35  import org.apache.hadoop.util.StringUtils.TraditionalBinaryPrefix;
36  
37  public class RegionServerListTmplImpl
38    extends org.jamon.AbstractTemplateImpl
39    implements org.apache.hadoop.hbase.tmpl.master.RegionServerListTmpl.Intf
40  
41  {
42    private final HMaster master;
43    private final List<ServerName> servers;
44    protected static org.apache.hadoop.hbase.tmpl.master.RegionServerListTmpl.ImplData __jamon_setOptionalArguments(org.apache.hadoop.hbase.tmpl.master.RegionServerListTmpl.ImplData p_implData)
45    {
46      if(! p_implData.getServers__IsNotDefault())
47      {
48        p_implData.setServers(null);
49      }
50      return p_implData;
51    }
52    public RegionServerListTmplImpl(org.jamon.TemplateManager p_templateManager, org.apache.hadoop.hbase.tmpl.master.RegionServerListTmpl.ImplData p_implData)
53    {
54      super(p_templateManager, __jamon_setOptionalArguments(p_implData));
55      master = p_implData.getMaster();
56      servers = p_implData.getServers();
57    }
58    
59    @Override public void renderNoFlush(final java.io.Writer jamonWriter)
60      throws java.io.IOException
61    {
62      // 45, 1
63      if ((servers != null && servers.size() > 0))
64      {
65        // 45, 47
66        jamonWriter.write("\n\n");
67        // 47, 1
68        
69  ServerName [] serverNames = servers.toArray(new ServerName[servers.size()]);
70  Arrays.sort(serverNames);
71  
72        // 52, 1
73        jamonWriter.write("<div class=\"tabbable\">\n    <ul class=\"nav nav-pills\">\n        <li class=\"active\"><a href=\"#tab_baseStats\" data-toggle=\"tab\">Base Stats</a></li>\n        <li class=\"\"><a href=\"#tab_memoryStats\" data-toggle=\"tab\">Memory</a></li>\n        <li class=\"\"><a href=\"#tab_requestStats\" data-toggle=\"tab\">Requests</a></li>\n        <li class=\"\"><a href=\"#tab_storeStats\" data-toggle=\"tab\">Storefiles</a></li>\n        <li class=\"\"><a href=\"#tab_compactStas\" data-toggle=\"tab\">Compactions</a></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_baseStats\">\n            ");
74        // 62, 13
75        {
76          // 62, 13
77          __jamon_innerUnit__baseStats(jamonWriter, serverNames);
78        }
79        // 62, 56
80        jamonWriter.write("\n        </div>\n        <div class=\"tab-pane\" id=\"tab_memoryStats\">\n            ");
81        // 65, 13
82        {
83          // 65, 13
84          __jamon_innerUnit__memoryStats(jamonWriter, serverNames);
85        }
86        // 65, 58
87        jamonWriter.write("\n        </div>\n        <div class=\"tab-pane\" id=\"tab_requestStats\">\n            ");
88        // 68, 13
89        {
90          // 68, 13
91          __jamon_innerUnit__requestStats(jamonWriter, serverNames);
92        }
93        // 68, 59
94        jamonWriter.write("\n        </div>\n        <div class=\"tab-pane\" id=\"tab_storeStats\">\n            ");
95        // 71, 13
96        {
97          // 71, 13
98          __jamon_innerUnit__storeStats(jamonWriter, serverNames);
99        }
100       // 71, 57
101       jamonWriter.write("\n        </div>\n        <div class=\"tab-pane\" id=\"tab_compactStas\">\n            ");
102       // 74, 13
103       {
104         // 74, 13
105         __jamon_innerUnit__compactionStats(jamonWriter, serverNames);
106       }
107       // 74, 62
108       jamonWriter.write("\n        </div>\n    </div>\n</div>\n\n");
109     }
110     // 79, 7
111     jamonWriter.write("\n\n");
112   }
113   
114   
115   // 167, 1
116   private void __jamon_innerUnit__requestStats(final java.io.Writer jamonWriter, final ServerName[] serverNames)
117     throws java.io.IOException
118   {
119     // 171, 1
120     jamonWriter.write("<table class=\"table table-striped\">\n<tr>\n    <th>ServerName</th>\n    <th>Request Per Second</th>\n    <th>Read Request Count</th>\n    <th>Write Request Count</th>\n</tr>\n");
121     // 178, 1
122     
123 for (ServerName serverName: serverNames) {
124 
125 ServerLoad sl = master.getServerManager().getLoad(serverName);
126 if (sl != null) {
127 
128     // 184, 1
129     jamonWriter.write("<tr>\n<td>");
130     // 185, 5
131     {
132       // 185, 5
133       __jamon_innerUnit__serverNameLink(jamonWriter, serverName, sl);
134     }
135     // 185, 66
136     jamonWriter.write("</td>\n<td>");
137     // 186, 5
138     org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(String.format("%.0f", sl.getRequestsPerSecond())), jamonWriter);
139     // 186, 59
140     jamonWriter.write("</td>\n<td>");
141     // 187, 5
142     org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(sl.getReadRequestsCount()), jamonWriter);
143     // 187, 36
144     jamonWriter.write("</td>\n<td>");
145     // 188, 5
146     org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(sl.getWriteRequestsCount()), jamonWriter);
147     // 188, 37
148     jamonWriter.write("</td>\n</tr>\n");
149     // 190, 1
150     
151         }  else {
152         
153     // 193, 1
154     {
155       // 193, 1
156       __jamon_innerUnit__emptyStat(jamonWriter, serverName);
157     }
158     // 193, 40
159     jamonWriter.write("\n");
160     // 194, 1
161     
162         }
163 }
164 
165     // 198, 1
166     jamonWriter.write("</table>\n");
167   }
168   
169   
170   // 305, 1
171   private void __jamon_innerUnit__emptyStat(final java.io.Writer jamonWriter, final ServerName serverName)
172     throws java.io.IOException
173   {
174     // 309, 5
175     jamonWriter.write("<tr>\n    <td>");
176     // 310, 9
177     {
178       // 310, 9
179       __jamon_innerUnit__serverNameLink(jamonWriter, serverName, null);
180     }
181     // 310, 72
182     jamonWriter.write("</td>\n    <td></td>\n    <td></td>\n    <td></td>\n    <td></td>\n    <td></td>\n    <td></td>\n    </tr>\n");
183   }
184   
185   
186   // 288, 1
187   private void __jamon_innerUnit__serverNameLink(final java.io.Writer jamonWriter, final ServerName serverName, final ServerLoad serverLoad)
188     throws java.io.IOException
189   {
190     // 293, 9
191     
192         int infoPort = master.getRegionServerInfoPort(serverName);
193         String url = "//" + serverName.getHostname() + ":" + infoPort + "/rs-status";
194         
195     // 298, 9
196     if ((infoPort > 0) )
197     {
198       // 298, 31
199       jamonWriter.write("\n            <a href=\"");
200       // 299, 22
201       org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(url), jamonWriter);
202       // 299, 31
203       jamonWriter.write("\">");
204       // 299, 33
205       org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(serverName.getServerName()), jamonWriter);
206       // 299, 65
207       jamonWriter.write("</a>\n        ");
208     }
209     // 300, 9
210     else
211     {
212       // 300, 16
213       jamonWriter.write("\n            ");
214       // 301, 13
215       org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(serverName.getServerName()), jamonWriter);
216       // 301, 45
217       jamonWriter.write("\n        ");
218     }
219     // 302, 15
220     jamonWriter.write("\n");
221   }
222   
223   
224   // 127, 1
225   private void __jamon_innerUnit__memoryStats(final java.io.Writer jamonWriter, final ServerName[] serverNames)
226     throws java.io.IOException
227   {
228     // 131, 1
229     jamonWriter.write("<table class=\"table table-striped\">\n<tr>\n    <th>ServerName</th>\n    <th>Used Heap</th>\n    <th>Max Heap</th>\n    <th>Memstore Size</th>\n\n</tr>\n");
230     // 139, 1
231     
232 for (ServerName serverName: serverNames) {
233 
234     ServerLoad sl = master.getServerManager().getLoad(serverName);
235     if (sl != null) {
236 
237     // 145, 1
238     jamonWriter.write("<tr>\n    <td>");
239     // 146, 9
240     {
241       // 146, 9
242       __jamon_innerUnit__serverNameLink(jamonWriter, serverName, sl);
243     }
244     // 146, 70
245     jamonWriter.write("</td>\n    <td>");
246     // 147, 9
247     org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(TraditionalBinaryPrefix.long2String(sl.getUsedHeapMB()
248       * TraditionalBinaryPrefix.MEGA.value, "B", 1)), jamonWriter);
249     // 148, 55
250     jamonWriter.write("</td>\n    <td>");
251     // 149, 9
252     org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(TraditionalBinaryPrefix.long2String(sl.getMaxHeapMB()
253       * TraditionalBinaryPrefix.MEGA.value, "B", 1)), jamonWriter);
254     // 150, 55
255     jamonWriter.write("</td>\n    <td>");
256     // 151, 9
257     org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(TraditionalBinaryPrefix.long2String(sl.getMemstoreSizeInMB()
258       * TraditionalBinaryPrefix.MEGA.value, "B", 1)), jamonWriter);
259     // 152, 55
260     jamonWriter.write("</td>\n\n</tr>\n");
261     // 155, 1
262     
263         }  else {
264 
265     // 158, 1
266     {
267       // 158, 1
268       __jamon_innerUnit__emptyStat(jamonWriter, serverName);
269     }
270     // 158, 40
271     jamonWriter.write("\n");
272     // 159, 1
273     
274         }
275 }
276 
277     // 163, 1
278     jamonWriter.write("</table>\n");
279   }
280   
281   
282   // 81, 1
283   private void __jamon_innerUnit__baseStats(final java.io.Writer jamonWriter, final ServerName[] serverNames)
284     throws java.io.IOException
285   {
286     // 85, 1
287     jamonWriter.write("<table class=\"table table-striped\">\n<tr>\n    <th>ServerName</th>\n    <th>Start time</th>\n    <th>Requests Per Second</th>\n    <th>Num. Regions</th>\n</tr>\n");
288     // 92, 1
289     
290     int totalRegions = 0;
291     int totalRequests = 0;
292     for (ServerName serverName: serverNames) {
293 
294     ServerLoad sl = master.getServerManager().getLoad(serverName);
295     double requestsPerSecond = 0.0;
296     int numRegionsOnline = 0;
297 
298     if (sl != null) {
299         requestsPerSecond = sl.getRequestsPerSecond();
300         numRegionsOnline = sl.getNumberOfRegions();
301         totalRegions += sl.getNumberOfRegions();
302         // Is this correct?  Adding a rate to a measure.
303         totalRequests += sl.getNumberOfRequests();
304     }
305     long startcode = serverName.getStartcode();
306 
307     // 110, 1
308     jamonWriter.write("<tr>\n    <td>");
309     // 111, 9
310     {
311       // 111, 9
312       __jamon_innerUnit__serverNameLink(jamonWriter, serverName, sl);
313     }
314     // 111, 70
315     jamonWriter.write("</td>\n    <td>");
316     // 112, 9
317     org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(new Date(startcode)), jamonWriter);
318     // 112, 34
319     jamonWriter.write("</td>\n    <td>");
320     // 113, 9
321     org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(String.format("%.0f", requestsPerSecond)), jamonWriter);
322     // 113, 55
323     jamonWriter.write("</td>\n    <td>");
324     // 114, 9
325     org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(numRegionsOnline), jamonWriter);
326     // 114, 31
327     jamonWriter.write("</td>\n</tr>\n");
328     // 116, 1
329     
330 }
331 
332     // 119, 1
333     jamonWriter.write("<tr><td>Total:");
334     // 119, 15
335     org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(servers.size()), jamonWriter);
336     // 119, 35
337     jamonWriter.write("</td>\n<td></td>\n<td>");
338     // 121, 5
339     org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(totalRequests), jamonWriter);
340     // 121, 24
341     jamonWriter.write("</td>\n<td>");
342     // 122, 5
343     org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(totalRegions), jamonWriter);
344     // 122, 23
345     jamonWriter.write("</td>\n</tr>\n</table>\n");
346   }
347   
348   
349   // 246, 1
350   private void __jamon_innerUnit__compactionStats(final java.io.Writer jamonWriter, final ServerName[] serverNames)
351     throws java.io.IOException
352   {
353     // 250, 1
354     jamonWriter.write("<table class=\"table table-striped\">\n<tr>\n    <th>ServerName</th>\n    <th>Num. Compacting KVs</th>\n    <th>Num. Compacted KVs</th>\n    <th>Remaining KVs</th>\n    <th>Compaction Progress</th>\n</tr>\n");
355     // 258, 1
356     
357 for (ServerName serverName: serverNames) {
358 
359 ServerLoad sl = master.getServerManager().getLoad(serverName);
360 if (sl != null) {
361 String percentDone = "";
362 if  (sl.getTotalCompactingKVs() > 0) {
363      percentDone = String.format("%.2f", 100 *
364         ((float) sl.getCurrentCompactedKVs() / sl.getTotalCompactingKVs())) + "%";
365 }
366 
367     // 269, 1
368     jamonWriter.write("<tr>\n<td>");
369     // 270, 5
370     {
371       // 270, 5
372       __jamon_innerUnit__serverNameLink(jamonWriter, serverName, sl);
373     }
374     // 270, 66
375     jamonWriter.write("</td>\n<td>");
376     // 271, 5
377     org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(sl.getTotalCompactingKVs()), jamonWriter);
378     // 271, 37
379     jamonWriter.write("</td>\n<td>");
380     // 272, 5
381     org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(sl.getCurrentCompactedKVs()), jamonWriter);
382     // 272, 38
383     jamonWriter.write("</td>\n<td>");
384     // 273, 5
385     org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(sl.getTotalCompactingKVs() - sl.getCurrentCompactedKVs()), jamonWriter);
386     // 273, 67
387     jamonWriter.write("</td>\n<td>");
388     // 274, 5
389     org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(percentDone), jamonWriter);
390     // 274, 22
391     jamonWriter.write("</td>\n</tr>\n");
392     // 276, 1
393     
394         }  else {
395         
396     // 279, 1
397     {
398       // 279, 1
399       __jamon_innerUnit__emptyStat(jamonWriter, serverName);
400     }
401     // 279, 40
402     jamonWriter.write("\n");
403     // 280, 1
404     
405     }
406 }
407 
408     // 284, 1
409     jamonWriter.write("</table>\n");
410   }
411   
412   
413   // 202, 1
414   private void __jamon_innerUnit__storeStats(final java.io.Writer jamonWriter, final ServerName[] serverNames)
415     throws java.io.IOException
416   {
417     // 206, 1
418     jamonWriter.write("<table class=\"table table-striped\">\n<tr>\n    <th>ServerName</th>\n    <th>Num. Stores</th>\n    <th>Num. Storefiles</th>\n    <th>Storefile Size Uncompressed</th>\n    <th>Storefile Size</th>\n    <th>Index Size</th>\n    <th>Bloom Size</th>\n</tr>\n");
419     // 216, 1
420     
421 for (ServerName serverName: serverNames) {
422 
423 ServerLoad sl = master.getServerManager().getLoad(serverName);
424 if (sl != null) {
425 
426     // 222, 1
427     jamonWriter.write("<tr>\n<td>");
428     // 223, 5
429     {
430       // 223, 5
431       __jamon_innerUnit__serverNameLink(jamonWriter, serverName, sl);
432     }
433     // 223, 66
434     jamonWriter.write("</td>\n<td>");
435     // 224, 5
436     org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(sl.getStores()), jamonWriter);
437     // 224, 25
438     jamonWriter.write("</td>\n<td>");
439     // 225, 5
440     org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(sl.getStorefiles()), jamonWriter);
441     // 225, 29
442     jamonWriter.write("</td>\n<td>");
443     // 226, 5
444     org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(TraditionalBinaryPrefix.long2String(
445   sl.getStoreUncompressedSizeMB() * TraditionalBinaryPrefix.MEGA.value, "B", 1)), jamonWriter);
446     // 227, 83
447     jamonWriter.write("</td>\n<td>");
448     // 228, 5
449     org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(TraditionalBinaryPrefix.long2String(sl.getStorefileSizeInMB()
450   * TraditionalBinaryPrefix.MEGA.value, "B", 1)), jamonWriter);
451     // 229, 51
452     jamonWriter.write("</td>\n<td>");
453     // 230, 5
454     org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(TraditionalBinaryPrefix.long2String(sl.getTotalStaticIndexSizeKB()
455   * TraditionalBinaryPrefix.KILO.value, "B", 1)), jamonWriter);
456     // 231, 51
457     jamonWriter.write("</td>\n<td>");
458     // 232, 5
459     org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(TraditionalBinaryPrefix.long2String(sl.getTotalStaticBloomSizeKB()
460   * TraditionalBinaryPrefix.KILO.value, "B", 1)), jamonWriter);
461     // 233, 51
462     jamonWriter.write("</td>\n</tr>\n");
463     // 235, 1
464     
465         }  else {
466         
467     // 238, 1
468     {
469       // 238, 1
470       __jamon_innerUnit__emptyStat(jamonWriter, serverName);
471     }
472     // 238, 40
473     jamonWriter.write("\n");
474     // 239, 1
475     
476     }
477 }
478 
479     // 243, 1
480     jamonWriter.write("</table>\n");
481   }
482   
483   
484 }