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}