001// Autogenerated Jamon implementation
002// /Users/petersomogyi/projects/hbase-upstream/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/RSGroupListTmpl.jamon
003
004package org.apache.hadoop.hbase.tmpl.master;
005
006// 27, 5
007import java.util.Collections;
008// 28, 5
009import java.util.List;
010// 29, 5
011import java.util.Map;
012// 30, 5
013import java.util.Set;
014// 31, 5
015import java.util.stream.Collectors;
016// 32, 5
017import org.apache.hadoop.hbase.master.HMaster;
018// 33, 5
019import org.apache.hadoop.hbase.RegionMetrics;
020// 34, 5
021import org.apache.hadoop.hbase.ServerMetrics;
022// 35, 5
023import org.apache.hadoop.hbase.Size;
024// 36, 5
025import org.apache.hadoop.hbase.RSGroupTableAccessor;
026// 37, 5
027import org.apache.hadoop.hbase.master.ServerManager;
028// 38, 5
029import org.apache.hadoop.hbase.net.Address;
030// 39, 5
031import org.apache.hadoop.hbase.rsgroup.RSGroupInfo;
032// 40, 5
033import org.apache.hadoop.util.StringUtils;
034// 41, 5
035import org.apache.hadoop.util.StringUtils.TraditionalBinaryPrefix;
036
037public class RSGroupListTmplImpl
038  extends org.jamon.AbstractTemplateImpl
039  implements org.apache.hadoop.hbase.tmpl.master.RSGroupListTmpl.Intf
040
041{
042  private final HMaster master;
043  private final ServerManager serverManager;
044  protected static org.apache.hadoop.hbase.tmpl.master.RSGroupListTmpl.ImplData __jamon_setOptionalArguments(org.apache.hadoop.hbase.tmpl.master.RSGroupListTmpl.ImplData p_implData)
045  {
046    return p_implData;
047  }
048  public RSGroupListTmplImpl(org.jamon.TemplateManager p_templateManager, org.apache.hadoop.hbase.tmpl.master.RSGroupListTmpl.ImplData p_implData)
049  {
050    super(p_templateManager, __jamon_setOptionalArguments(p_implData));
051    master = p_implData.getMaster();
052    serverManager = p_implData.getServerManager();
053  }
054  
055  @Override public void renderNoFlush(final java.io.Writer jamonWriter)
056    throws java.io.IOException
057  {
058    // 43, 1
059    
060List<RSGroupInfo> groups = RSGroupTableAccessor.getAllRSGroupInfo(master.getConnection());
061
062    // 46, 1
063    if ((groups != null && groups.size() > 0))
064    {
065      // 46, 45
066      jamonWriter.write("\n\n");
067      // 48, 1
068      
069RSGroupInfo [] rsGroupInfos = groups.toArray(new RSGroupInfo[groups.size()]);
070Map<Address, ServerMetrics> collectServers = Collections.emptyMap();
071if (master.getServerManager() != null) {
072  collectServers =
073      master.getServerManager().getOnlineServers().entrySet().stream()
074          .collect(Collectors.toMap(p -> p.getKey().getAddress(), Map.Entry::getValue));
075}
076
077      // 58, 1
078      jamonWriter.write("<div class=\"tabbable\">\n    <ul class=\"nav nav-pills\">\n        <li class=\"active\"><a href=\"#tab_rsgroup_baseStats\" data-toggle=\"tab\">Base Stats</a></li>\n        <li class=\"\"><a href=\"#tab_rsgroup_memoryStats\" data-toggle=\"tab\">Memory</a></li>\n        <li class=\"\"><a href=\"#tab_rsgroup_requestStats\" data-toggle=\"tab\">Requests</a></li>\n        <li class=\"\"><a href=\"#tab_rsgroup_storeStats\" data-toggle=\"tab\">Storefiles</a></li>\n        <li class=\"\"><a href=\"#tab_rsgroup_compactStats\" 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_rsgroup_baseStats\">\n            ");
079      // 68, 13
080      {
081        // 68, 13
082        __jamon_innerUnit__rsgroup_baseStats(jamonWriter, rsGroupInfos, collectServers );
083      }
084      // 68, 97
085      jamonWriter.write("\n        </div>\n        <div class=\"tab-pane\" id=\"tab_rsgroup_memoryStats\">\n            ");
086      // 71, 13
087      {
088        // 71, 13
089        __jamon_innerUnit__rsgroup_memoryStats(jamonWriter, rsGroupInfos, collectServers );
090      }
091      // 71, 99
092      jamonWriter.write("\n        </div>\n        <div class=\"tab-pane\" id=\"tab_rsgroup_requestStats\">\n            ");
093      // 74, 13
094      {
095        // 74, 13
096        __jamon_innerUnit__rsgroup_requestStats(jamonWriter, rsGroupInfos, collectServers );
097      }
098      // 74, 100
099      jamonWriter.write("\n        </div>\n        <div class=\"tab-pane\" id=\"tab_rsgroup_storeStats\">\n            ");
100      // 77, 13
101      {
102        // 77, 13
103        __jamon_innerUnit__rsgroup_storeStats(jamonWriter, rsGroupInfos, collectServers );
104      }
105      // 77, 98
106      jamonWriter.write("\n        </div>\n        <div class=\"tab-pane\" id=\"tab_rsgroup_compactStats\">\n            ");
107      // 80, 13
108      {
109        // 80, 13
110        __jamon_innerUnit__rsgroup_compactStats(jamonWriter, rsGroupInfos, collectServers );
111      }
112      // 80, 100
113      jamonWriter.write("\n        </div>\n    </div>\n</div>\n\n");
114    }
115    // 85, 7
116    jamonWriter.write("\n\n");
117  }
118  
119  
120  // 388, 1
121  private void __jamon_innerUnit__rsGroupLink(final java.io.Writer jamonWriter, final String rsGroupName)
122    throws java.io.IOException
123  {
124    // 392, 5
125    jamonWriter.write("<a href=rsgroup.jsp?name=");
126    // 392, 30
127    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(rsGroupName), jamonWriter);
128    // 392, 47
129    jamonWriter.write(">");
130    // 392, 48
131    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(rsGroupName), jamonWriter);
132    // 392, 65
133    jamonWriter.write("</a>\n");
134  }
135  
136  
137  // 87, 1
138  private void __jamon_innerUnit__rsgroup_baseStats(final java.io.Writer jamonWriter, final RSGroupInfo[] rsGroupInfos, final Map<Address,ServerMetrics> collectServers)
139    throws java.io.IOException
140  {
141    // 92, 1
142    jamonWriter.write("<table class=\"table table-striped\">\n<tr>\n    <th>RSGroup Name</th>\n    <th>Num. Online Servers</th>\n    <th>Num. Dead Servers</th>\n    <th>Num. Tables</th>\n    <th>Requests Per Second</th>\n    <th>Num. Regions</th>\n    <th>Average Load</th>\n</tr>\n");
143    // 102, 1
144    
145    int totalOnlineServers = 0;
146    int totalDeadServers = 0;
147    int totalTables = 0;
148    int totalRequests = 0;
149    int totalRegions = 0;
150    for (RSGroupInfo rsGroupInfo: rsGroupInfos) {
151      String rsGroupName = rsGroupInfo.getName();
152      int onlineServers = 0;
153      int deadServers = 0;
154      int tables = 0;
155      long requestsPerSecond = 0;
156      int numRegionsOnline = 0;
157      Set<Address> servers = rsGroupInfo.getServers();
158      for (Address server : servers) {
159        ServerMetrics sl = collectServers.get(server);
160        if (sl != null) {
161          requestsPerSecond += sl.getRequestCountPerSecond();
162          numRegionsOnline += sl.getRegionMetrics().size();
163          //rsgroup total
164          totalRegions += sl.getRegionMetrics().size();
165          totalRequests += sl.getRequestCountPerSecond();
166          totalOnlineServers++;
167          onlineServers++;
168        } else {
169          totalDeadServers++;
170          deadServers++;
171        }
172      }
173      tables = rsGroupInfo.getTables().size();
174      totalTables += tables;
175      double avgLoad = onlineServers == 0 ? 0 :
176            (double)numRegionsOnline / (double)onlineServers;
177
178    // 136, 1
179    jamonWriter.write("<tr>\n    <td>");
180    // 137, 9
181    {
182      // 137, 9
183      __jamon_innerUnit__rsGroupLink(jamonWriter, rsGroupName);
184    }
185    // 137, 52
186    jamonWriter.write("</td>\n    <td>");
187    // 138, 9
188    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(onlineServers), jamonWriter);
189    // 138, 28
190    jamonWriter.write("</td>\n    <td>");
191    // 139, 9
192    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(deadServers), jamonWriter);
193    // 139, 26
194    jamonWriter.write("</td>\n    <td>");
195    // 140, 9
196    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(tables), jamonWriter);
197    // 140, 21
198    jamonWriter.write("</td>\n    <td>");
199    // 141, 9
200    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(requestsPerSecond), jamonWriter);
201    // 141, 32
202    jamonWriter.write("</td>\n    <td>");
203    // 142, 9
204    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(numRegionsOnline), jamonWriter);
205    // 142, 31
206    jamonWriter.write("</td>\n    <td>");
207    // 143, 9
208    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(StringUtils.limitDecimalTo2(avgLoad)), jamonWriter);
209    // 143, 51
210    jamonWriter.write("</td>\n</tr>\n");
211    // 145, 1
212    
213}
214
215    // 148, 1
216    jamonWriter.write("<tr><td>Total:");
217    // 148, 15
218    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(rsGroupInfos.length), jamonWriter);
219    // 148, 40
220    jamonWriter.write("</td>\n<td>");
221    // 149, 5
222    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(totalOnlineServers), jamonWriter);
223    // 149, 29
224    jamonWriter.write("</td>\n<td>");
225    // 150, 5
226    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(totalDeadServers), jamonWriter);
227    // 150, 27
228    jamonWriter.write("</td>\n<td>");
229    // 151, 5
230    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(totalTables), jamonWriter);
231    // 151, 22
232    jamonWriter.write("</td>\n<td>");
233    // 152, 5
234    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(totalRequests), jamonWriter);
235    // 152, 24
236    jamonWriter.write("</td>\n<td>");
237    // 153, 5
238    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(totalRegions), jamonWriter);
239    // 153, 23
240    jamonWriter.write("</td>\n<td>");
241    // 154, 5
242    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(StringUtils.limitDecimalTo2(master.getServerManager().getAverageLoad())), jamonWriter);
243    // 154, 82
244    jamonWriter.write("</td>\n</tr>\n</table>\n");
245  }
246  
247  
248  // 337, 1
249  private void __jamon_innerUnit__rsgroup_compactStats(final java.io.Writer jamonWriter, final RSGroupInfo[] rsGroupInfos, final Map<Address,ServerMetrics> collectServers)
250    throws java.io.IOException
251  {
252    // 342, 1
253    jamonWriter.write("<table class=\"table table-striped\">\n<tr>\n    <th>RSGroup Name</th>\n    <th>Num. Compacting Cells</th>\n    <th>Num. Compacted Cells</th>\n    <th>Remaining Cells</th>\n    <th>Compaction Progress</th>\n</tr>\n");
254    // 350, 1
255    
256    for (RSGroupInfo rsGroupInfo: rsGroupInfos) {
257      String rsGroupName = rsGroupInfo.getName();
258      int numStores = 0;
259      long totalCompactingCells = 0;
260      long totalCompactedCells = 0;
261      long remainingCells = 0;
262      long compactionProgress  = 0;
263      for (Address server : rsGroupInfo.getServers()) {
264        ServerMetrics sl = collectServers.get(server);
265        if (sl != null) {
266          for (RegionMetrics rl : sl.getRegionMetrics().values()) {
267            totalCompactingCells += rl.getCompactingCellCount();
268            totalCompactedCells += rl.getCompactedCellCount();
269          }
270        }
271      }
272      remainingCells = totalCompactingCells - totalCompactedCells;
273      String percentDone = "";
274      if  (totalCompactingCells > 0) {
275           percentDone = String.format("%.2f", 100 *
276              ((float) totalCompactedCells / totalCompactingCells)) + "%";
277      }
278
279    // 374, 1
280    jamonWriter.write("<tr>\n<td>");
281    // 375, 5
282    {
283      // 375, 5
284      __jamon_innerUnit__rsGroupLink(jamonWriter, rsGroupName);
285    }
286    // 375, 48
287    jamonWriter.write("</td>\n<td>");
288    // 376, 5
289    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(totalCompactingCells), jamonWriter);
290    // 376, 31
291    jamonWriter.write("</td>\n<td>");
292    // 377, 5
293    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(totalCompactedCells), jamonWriter);
294    // 377, 30
295    jamonWriter.write("</td>\n<td>");
296    // 378, 5
297    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(remainingCells), jamonWriter);
298    // 378, 25
299    jamonWriter.write("</td>\n<td>");
300    // 379, 5
301    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(percentDone), jamonWriter);
302    // 379, 22
303    jamonWriter.write("</td>\n</tr>\n");
304    // 381, 1
305    
306}
307
308    // 384, 1
309    jamonWriter.write("</table>\n");
310  }
311  
312  
313  // 159, 1
314  private void __jamon_innerUnit__rsgroup_memoryStats(final java.io.Writer jamonWriter, final RSGroupInfo[] rsGroupInfos, final Map<Address,ServerMetrics> collectServers)
315    throws java.io.IOException
316  {
317    // 164, 1
318    jamonWriter.write("<table class=\"table table-striped\">\n<tr>\n    <th>RSGroup Name</th>\n    <th>Used Heap</th>\n    <th>Max Heap</th>\n    <th>Memstore Size</th>\n\n</tr>\n");
319    // 172, 1
320    
321    final String ZEROMB = "0 MB";
322    String usedHeapStr = ZEROMB;
323    String maxHeapStr = ZEROMB;
324    String memstoreSizeStr = ZEROMB;
325    for (RSGroupInfo rsGroupInfo: rsGroupInfos) {
326      String rsGroupName = rsGroupInfo.getName();
327      long usedHeap = 0;
328      long maxHeap = 0;
329      long memstoreSize = 0;
330      for (Address server : rsGroupInfo.getServers()) {
331        ServerMetrics sl = collectServers.get(server);
332        if (sl != null) {
333          usedHeap += (long) sl.getUsedHeapSize().get(Size.Unit.MEGABYTE);
334          maxHeap += (long) sl.getMaxHeapSize().get(Size.Unit.MEGABYTE);
335          memstoreSize += (long) sl.getRegionMetrics().values().stream().mapToDouble(
336            rm -> rm.getMemStoreSize().get(Size.Unit.MEGABYTE)).sum();
337        }
338      }
339
340      if (usedHeap > 0) {
341        usedHeapStr = TraditionalBinaryPrefix.long2String(usedHeap
342                                      * TraditionalBinaryPrefix.MEGA.value, "B", 1);
343      }
344      if (maxHeap > 0) {
345        maxHeapStr = TraditionalBinaryPrefix.long2String(maxHeap
346                                      * TraditionalBinaryPrefix.MEGA.value, "B", 1);
347      }
348      if (memstoreSize > 0) {
349        memstoreSizeStr = TraditionalBinaryPrefix.long2String(memstoreSize
350                                      * TraditionalBinaryPrefix.MEGA.value, "B", 1);
351      }
352
353    // 205, 1
354    jamonWriter.write("<tr>\n    <td>");
355    // 206, 9
356    {
357      // 206, 9
358      __jamon_innerUnit__rsGroupLink(jamonWriter, rsGroupName);
359    }
360    // 206, 52
361    jamonWriter.write("</td>\n    <td>");
362    // 207, 9
363    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(usedHeapStr), jamonWriter);
364    // 207, 26
365    jamonWriter.write("</td>\n    <td>");
366    // 208, 9
367    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(maxHeapStr), jamonWriter);
368    // 208, 25
369    jamonWriter.write("</td>\n    <td>");
370    // 209, 9
371    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(memstoreSizeStr), jamonWriter);
372    // 209, 30
373    jamonWriter.write("</td>\n\n</tr>\n");
374    // 212, 1
375    
376}
377
378    // 215, 1
379    jamonWriter.write("</table>\n");
380  }
381  
382  
383  // 218, 1
384  private void __jamon_innerUnit__rsgroup_requestStats(final java.io.Writer jamonWriter, final RSGroupInfo[] rsGroupInfos, final Map<Address,ServerMetrics> collectServers)
385    throws java.io.IOException
386  {
387    // 223, 1
388    jamonWriter.write("<table class=\"table table-striped\">\n<tr>\n    <th>RSGroup Name</th>\n    <th>Request Per Second</th>\n    <th>Read Request Count</th>\n    <th>Write Request Count</th>\n</tr>\n");
389    // 230, 1
390    
391    for (RSGroupInfo rsGroupInfo: rsGroupInfos) {
392      String rsGroupName = rsGroupInfo.getName();
393      long requestsPerSecond = 0;
394      long readRequests = 0;
395      long writeRequests = 0;
396      for (Address server : rsGroupInfo.getServers()) {
397        ServerMetrics sl = collectServers.get(server);
398        if (sl != null) {
399          for (RegionMetrics rm : sl.getRegionMetrics().values()) {
400            readRequests += rm.getReadRequestCount();
401            writeRequests += rm.getWriteRequestCount();
402          }
403          requestsPerSecond += sl.getRequestCountPerSecond();
404        }
405      }
406
407    // 247, 1
408    jamonWriter.write("<tr>\n<td>");
409    // 248, 5
410    {
411      // 248, 5
412      __jamon_innerUnit__rsGroupLink(jamonWriter, rsGroupName);
413    }
414    // 248, 48
415    jamonWriter.write("</td>\n<td>");
416    // 249, 5
417    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(requestsPerSecond), jamonWriter);
418    // 249, 28
419    jamonWriter.write("</td>\n<td>");
420    // 250, 5
421    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(readRequests), jamonWriter);
422    // 250, 23
423    jamonWriter.write("</td>\n<td>");
424    // 251, 5
425    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(writeRequests), jamonWriter);
426    // 251, 24
427    jamonWriter.write("</td>\n</tr>\n");
428    // 253, 1
429    
430}
431
432    // 256, 1
433    jamonWriter.write("</table>\n");
434  }
435  
436  
437  // 260, 1
438  private void __jamon_innerUnit__rsgroup_storeStats(final java.io.Writer jamonWriter, final RSGroupInfo[] rsGroupInfos, final Map<Address,ServerMetrics> collectServers)
439    throws java.io.IOException
440  {
441    // 265, 1
442    jamonWriter.write("<table class=\"table table-striped\">\n<tr>\n    <th>RSGroup 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");
443    // 275, 1
444    
445    final String ZEROKB = "0 KB";
446    final String ZEROMB = "0 MB";
447    String uncompressedStorefileSizeStr = ZEROMB;
448    String storefileSizeStr = ZEROMB;
449    String indexSizeStr = ZEROKB;
450    String bloomSizeStr = ZEROKB;
451    for (RSGroupInfo rsGroupInfo: rsGroupInfos) {
452      String rsGroupName = rsGroupInfo.getName();
453      int numStores = 0;
454      long numStorefiles = 0;
455      long uncompressedStorefileSize  = 0;
456      long storefileSize  = 0;
457      long indexSize  = 0;
458      long bloomSize  = 0;
459      int count = 0;
460      for (Address server : rsGroupInfo.getServers()) {
461        ServerMetrics sl = collectServers.get(server);
462        if (sl != null) {
463          for (RegionMetrics rm : sl.getRegionMetrics().values()) {
464            numStores += rm.getStoreCount();
465            numStorefiles += rm.getStoreFileCount();
466            uncompressedStorefileSize += rm.getUncompressedStoreFileSize().get(Size.Unit.MEGABYTE);
467            storefileSize += rm.getStoreFileSize().get(Size.Unit.MEGABYTE);
468            indexSize += rm.getStoreFileUncompressedDataIndexSize().get(Size.Unit.KILOBYTE);
469            bloomSize += rm.getBloomFilterSize().get(Size.Unit.KILOBYTE);
470          }
471          count++;
472        }
473      }
474       if (uncompressedStorefileSize > 0) {
475          uncompressedStorefileSizeStr = TraditionalBinaryPrefix.
476          long2String(uncompressedStorefileSize * TraditionalBinaryPrefix.MEGA.value, "B", 1);
477       }
478       if (storefileSize > 0) {
479           storefileSizeStr = TraditionalBinaryPrefix.
480           long2String(storefileSize * TraditionalBinaryPrefix.MEGA.value, "B", 1);
481       }
482       if (indexSize > 0) {
483          indexSizeStr = TraditionalBinaryPrefix.
484          long2String(indexSize * TraditionalBinaryPrefix.KILO.value, "B", 1);
485       }
486       if (bloomSize > 0) {
487           bloomSizeStr = TraditionalBinaryPrefix.
488           long2String(bloomSize * TraditionalBinaryPrefix.KILO.value, "B", 1);
489       }
490
491    // 322, 1
492    jamonWriter.write("<tr>\n<td>");
493    // 323, 5
494    {
495      // 323, 5
496      __jamon_innerUnit__rsGroupLink(jamonWriter, rsGroupName);
497    }
498    // 323, 48
499    jamonWriter.write("</td>\n<td>");
500    // 324, 5
501    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(numStores), jamonWriter);
502    // 324, 20
503    jamonWriter.write("</td>\n<td>");
504    // 325, 5
505    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(numStorefiles), jamonWriter);
506    // 325, 24
507    jamonWriter.write("</td>\n<td>");
508    // 326, 5
509    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(uncompressedStorefileSizeStr), jamonWriter);
510    // 326, 39
511    jamonWriter.write("</td>\n<td>");
512    // 327, 5
513    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(storefileSizeStr), jamonWriter);
514    // 327, 27
515    jamonWriter.write("</td>\n<td>");
516    // 328, 5
517    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(indexSizeStr), jamonWriter);
518    // 328, 23
519    jamonWriter.write("</td>\n<td>");
520    // 329, 5
521    org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(bloomSizeStr), jamonWriter);
522    // 329, 23
523    jamonWriter.write("</td>\n</tr>\n");
524    // 331, 1
525    
526}
527
528    // 334, 1
529    jamonWriter.write("</table>\n");
530  }
531  
532  
533}