View Javadoc

1   // Autogenerated Jamon implementation
2   // /Users/stack/checkouts/0.95/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/RegionListTmpl.jamon
3   
4   package org.apache.hadoop.hbase.tmpl.regionserver;
5   
6   // 24, 9
7   import java.util.*;
8   // 25, 9
9   import org.apache.hadoop.hbase.regionserver.HRegionServer;
10  // 26, 9
11  import org.apache.hadoop.hbase.util.Bytes;
12  // 27, 9
13  import org.apache.hadoop.hbase.HRegionInfo;
14  // 28, 9
15  import org.apache.hadoop.hbase.ServerName;
16  // 29, 9
17  import org.apache.hadoop.hbase.HBaseConfiguration;
18  // 30, 9
19  import org.apache.hadoop.hbase.protobuf.ProtobufUtil;
20  // 31, 9
21  import org.apache.hadoop.hbase.protobuf.generated.AdminProtos.ServerInfo;
22  // 32, 9
23  import org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.RegionLoad;
24  
25  public class RegionListTmplImpl
26    extends org.jamon.AbstractTemplateImpl
27    implements org.apache.hadoop.hbase.tmpl.regionserver.RegionListTmpl.Intf
28  
29  {
30    private final HRegionServer regionServer;
31    private final List<HRegionInfo> onlineRegions;
32    protected static org.apache.hadoop.hbase.tmpl.regionserver.RegionListTmpl.ImplData __jamon_setOptionalArguments(org.apache.hadoop.hbase.tmpl.regionserver.RegionListTmpl.ImplData p_implData)
33    {
34      return p_implData;
35    }
36    public RegionListTmplImpl(org.jamon.TemplateManager p_templateManager, org.apache.hadoop.hbase.tmpl.regionserver.RegionListTmpl.ImplData p_implData)
37    {
38      super(p_templateManager, __jamon_setOptionalArguments(p_implData));
39      regionServer = p_implData.getRegionServer();
40      onlineRegions = p_implData.getOnlineRegions();
41    }
42    
43    public void renderNoFlush(@SuppressWarnings({"unused","hiding"}) final java.io.Writer jamonWriter)
44      throws java.io.IOException
45    {
46      // 34, 1
47      if ((onlineRegions != null && onlineRegions.size() > 0) )
48      {
49        // 34, 60
50        jamonWriter.write("\n\n    ");
51        // 36, 5
52        
53          Collections.sort(onlineRegions);
54      
55        // 40, 5
56        jamonWriter.write("<div class=\"tabbable\">\n        <ul class=\"nav nav-pills\">\n            <li class=\"active\"><a href=\"#tab_regionBaseInfo\" data-toggle=\"tab\">Base Info</a> </li>\n            <li><a href=\"#tab_regionRequestStats\" data-toggle=\"tab\">Request metrics</a></li>\n            <li class=\"\"><a href=\"#tab_regionStoreStats\" data-toggle=\"tab\">Storefile Metrics</a></li>\n            <li class=\"\"><a href=\"#tab_regionCompactStas\" data-toggle=\"tab\">Compaction Metrics</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_regionBaseInfo\">\n                ");
57        // 49, 17
58        {
59          // 49, 17
60          __jamon_innerUnit__baseInfo(jamonWriter, onlineRegions);
61        }
62        // 49, 63
63        jamonWriter.write("\n            </div>\n            <div class=\"tab-pane\" id=\"tab_regionRequestStats\">\n                ");
64        // 52, 17
65        {
66          // 52, 17
67          __jamon_innerUnit__requestStats(jamonWriter, onlineRegions);
68        }
69        // 52, 67
70        jamonWriter.write("\n            </div>\n            <div class=\"tab-pane\" id=\"tab_regionStoreStats\">\n                ");
71        // 55, 17
72        {
73          // 55, 17
74          __jamon_innerUnit__storeStats(jamonWriter, onlineRegions);
75        }
76        // 55, 65
77        jamonWriter.write("\n            </div>\n            <div class=\"tab-pane\" id=\"tab_regionCompactStas\">\n                ");
78        // 58, 17
79        {
80          // 58, 17
81          __jamon_innerUnit__compactStats(jamonWriter, onlineRegions);
82        }
83        // 58, 67
84        jamonWriter.write("\n            </div>\n        </div>\n    </div>\n    <p>Region names are made of the containing table's name, a comma,\n    the start key, a comma, and a randomly generated region id.  To illustrate,\n    the region named\n    <em>domains,apache.org,5464829424211263407</em> is party to the table\n    <em>domains</em>, has an id of <em>5464829424211263407</em> and the first key\n    in the region is <em>apache.org</em>.  The <em>.META.</em> 'table' is an internal\n    system table (or 'catalog' tables in db-speak).\n    The .META. table keeps a list of all regions in the system. The empty key is used to denote\n    table start and table end.  A region with an empty start key is the first region in a table.\n    If region has both an empty start and an empty end key, its the only region in the table.  See\n    <a href=\"http://hbase.org\">HBase Home</a> for further explication.<p>\n");
85      }
86      // 73, 1
87      else
88      {
89        // 73, 8
90        jamonWriter.write("\n    <p>Not serving regions</p>\n");
91      }
92      // 75, 7
93      jamonWriter.write("\n\n");
94    }
95    
96    
97    // 98, 1
98    private void __jamon_innerUnit__requestStats(@SuppressWarnings({"unused","hiding"}) final java.io.Writer jamonWriter, final List<HRegionInfo> onlineRegions)
99      throws java.io.IOException
100   {
101     // 102, 5
102     jamonWriter.write("<table class=\"table table-striped\">\n        <tr>\n            <th>Region Name</th>\n            <th>Read Request Count</th>\n            <th>Write Request Count</th>\n        </tr>\n\n        ");
103     // 109, 9
104     for (HRegionInfo r: onlineRegions )
105     {
106       // 109, 46
107       jamonWriter.write("\n\n        <tr>\n        ");
108       // 112, 9
109       
110             RegionLoad load = regionServer.createRegionLoad(r.getEncodedName());
111         
112       // 115, 13
113       jamonWriter.write("<td>");
114       // 115, 17
115       org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(r.getRegionNameAsString()), jamonWriter);
116       // 115, 48
117       jamonWriter.write("</td>\n            ");
118       // 116, 13
119       if (load != null )
120       {
121         // 116, 33
122         jamonWriter.write("\n            <td>");
123         // 117, 17
124         org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(load.getReadRequestsCount()), jamonWriter);
125         // 117, 50
126         jamonWriter.write("</td>\n            <td>");
127         // 118, 17
128         org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(load.getWriteRequestsCount()), jamonWriter);
129         // 118, 51
130         jamonWriter.write("</td>\n            ");
131       }
132       // 119, 19
133       jamonWriter.write("\n        </tr>\n        ");
134     }
135     // 121, 16
136     jamonWriter.write("\n    </table>\n");
137   }
138   
139   
140   // 162, 1
141   private void __jamon_innerUnit__compactStats(@SuppressWarnings({"unused","hiding"}) final java.io.Writer jamonWriter, final List<HRegionInfo> onlineRegions)
142     throws java.io.IOException
143   {
144     // 166, 5
145     jamonWriter.write("<table class=\"table table-striped\">\n        <tr>\n            <th>Region Name</th>\n            <th>Num. Compacting KVs</th>\n            <th>Num. Compacted KVs</th>\n            <th>Compaction Progress</th>\n        </tr>\n\n        ");
146     // 174, 9
147     for (HRegionInfo r: onlineRegions )
148     {
149       // 174, 46
150       jamonWriter.write("\n\n        <tr>\n        ");
151       // 177, 9
152       
153             RegionLoad load = regionServer.createRegionLoad(r.getEncodedName());
154             String percentDone = "";
155             if  (load != null && load.getTotalCompactingKVs() > 0) {
156             percentDone = String.format("%.2f", 100 *
157             ((float) load.getCurrentCompactedKVs() / load.getTotalCompactingKVs())) + "%";
158             }
159         
160       // 185, 13
161       jamonWriter.write("<td>");
162       // 185, 17
163       org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(r.getRegionNameAsString()), jamonWriter);
164       // 185, 48
165       jamonWriter.write("</td>\n            ");
166       // 186, 13
167       if (load != null )
168       {
169         // 186, 33
170         jamonWriter.write("\n            <td>");
171         // 187, 17
172         org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(load.getTotalCompactingKVs()), jamonWriter);
173         // 187, 51
174         jamonWriter.write("</td>\n            <td>");
175         // 188, 17
176         org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(load.getCurrentCompactedKVs()), jamonWriter);
177         // 188, 52
178         jamonWriter.write("</td>\n            <td>");
179         // 189, 17
180         org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(percentDone), jamonWriter);
181         // 189, 34
182         jamonWriter.write("</td>\n            ");
183       }
184       // 190, 19
185       jamonWriter.write("\n        </tr>\n        ");
186     }
187     // 192, 16
188     jamonWriter.write("\n    </table>\n");
189   }
190   
191   
192   // 77, 1
193   private void __jamon_innerUnit__baseInfo(@SuppressWarnings({"unused","hiding"}) final java.io.Writer jamonWriter, final List<HRegionInfo> onlineRegions)
194     throws java.io.IOException
195   {
196     // 81, 5
197     jamonWriter.write("<table class=\"table table-striped\">\n        <tr>\n            <th>Region Name</th>\n            <th>Start Key</th>\n            <th>End Key</th>\n        </tr>\n\n        ");
198     // 88, 9
199     for (HRegionInfo r: onlineRegions )
200     {
201       // 88, 46
202       jamonWriter.write("\n        <tr>\n            <td>");
203       // 90, 17
204       org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(r.getRegionNameAsString()), jamonWriter);
205       // 90, 48
206       jamonWriter.write("</td>\n            <td>");
207       // 91, 17
208       org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(Bytes.toStringBinary(r.getStartKey())), jamonWriter);
209       // 91, 60
210       jamonWriter.write("</td>\n            <td>");
211       // 92, 17
212       org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(Bytes.toStringBinary(r.getEndKey())), jamonWriter);
213       // 92, 58
214       jamonWriter.write("</td>\n        </tr>\n        ");
215     }
216     // 94, 16
217     jamonWriter.write("\n    </table>\n");
218   }
219   
220   
221   // 126, 1
222   private void __jamon_innerUnit__storeStats(@SuppressWarnings({"unused","hiding"}) final java.io.Writer jamonWriter, final List<HRegionInfo> onlineRegions)
223     throws java.io.IOException
224   {
225     // 130, 5
226     jamonWriter.write("<table class=\"table table-striped\">\n        <tr>\n            <th>Region Name</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\n        ");
227     // 141, 9
228     for (HRegionInfo r: onlineRegions )
229     {
230       // 141, 46
231       jamonWriter.write("\n\n        <tr>\n        ");
232       // 144, 9
233       
234             RegionLoad load = regionServer.createRegionLoad(r.getEncodedName());
235         
236       // 147, 13
237       jamonWriter.write("<td>");
238       // 147, 17
239       org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(r.getRegionNameAsString()), jamonWriter);
240       // 147, 48
241       jamonWriter.write("</td>\n            ");
242       // 148, 13
243       if (load != null )
244       {
245         // 148, 33
246         jamonWriter.write("\n            <td>");
247         // 149, 17
248         org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(load.getStores()), jamonWriter);
249         // 149, 39
250         jamonWriter.write("</td>\n            <td>");
251         // 150, 17
252         org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(load.getStorefiles()), jamonWriter);
253         // 150, 43
254         jamonWriter.write("</td>\n            <td>");
255         // 151, 17
256         org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(load.getStoreUncompressedSizeMB()), jamonWriter);
257         // 151, 56
258         jamonWriter.write("MB</td>\n            <td>");
259         // 152, 17
260         org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(load.getStorefileSizeMB()), jamonWriter);
261         // 152, 48
262         jamonWriter.write("MB</td>\n            <td>");
263         // 153, 17
264         org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(load.getTotalStaticIndexSizeKB()), jamonWriter);
265         // 153, 55
266         jamonWriter.write("KB</td>\n            <td>");
267         // 154, 17
268         org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(load.getTotalStaticBloomSizeKB()), jamonWriter);
269         // 154, 55
270         jamonWriter.write("KB</td>\n            ");
271       }
272       // 155, 19
273       jamonWriter.write("\n        </tr>\n        ");
274     }
275     // 157, 16
276     jamonWriter.write("\n    </table>\n");
277   }
278   
279   
280 }