View Javadoc

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