org.apache.hadoop.hbase.tmpl.regionserver.BlockCacheTmplImpl Maven / Gradle / Ivy
Show all versions of hbase-server Show documentation
// Autogenerated Jamon implementation
// /home/apurtell/src/hbase/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/BlockCacheTmpl.jamon
package org.apache.hadoop.hbase.tmpl.regionserver;
// 35, 1
import java.util.Map;
// 36, 1
import org.apache.hadoop.hbase.io.hfile.BlockCacheUtil.CachedBlocksByFile;
// 37, 1
import org.apache.hadoop.hbase.io.hfile.BlockCacheUtil.AgeSnapshot;
// 38, 1
import org.apache.hadoop.hbase.io.hfile.CachedBlock;
// 39, 1
import org.apache.hadoop.conf.Configuration;
// 40, 1
import org.apache.hadoop.hbase.io.hfile.CacheConfig;
// 41, 1
import org.apache.hadoop.hbase.io.hfile.BlockCache;
// 42, 1
import org.apache.hadoop.hbase.io.hfile.bucket.BucketCacheStats;
// 43, 1
import org.apache.hadoop.hbase.io.hfile.bucket.BucketCache;
// 44, 1
import org.apache.hadoop.hbase.io.hfile.bucket.BucketAllocator;
// 45, 1
import org.apache.hadoop.hbase.io.hfile.bucket.BucketAllocator.Bucket;
// 46, 1
import org.apache.hadoop.hbase.io.hfile.slab.SlabCache;
// 47, 1
import org.apache.hadoop.hbase.io.hfile.slab.SingleSizeCache;
// 48, 1
import org.apache.hadoop.util.StringUtils;
public class BlockCacheTmplImpl
extends org.jamon.AbstractTemplateImpl
implements org.apache.hadoop.hbase.tmpl.regionserver.BlockCacheTmpl.Intf
{
private final CacheConfig cacheConfig;
private final Configuration config;
protected static org.apache.hadoop.hbase.tmpl.regionserver.BlockCacheTmpl.ImplData __jamon_setOptionalArguments(org.apache.hadoop.hbase.tmpl.regionserver.BlockCacheTmpl.ImplData p_implData)
{
return p_implData;
}
public BlockCacheTmplImpl(org.jamon.TemplateManager p_templateManager, org.apache.hadoop.hbase.tmpl.regionserver.BlockCacheTmpl.ImplData p_implData)
{
super(p_templateManager, __jamon_setOptionalArguments(p_implData));
cacheConfig = p_implData.getCacheConfig();
config = p_implData.getConfig();
}
@Override public void renderNoFlush(final java.io.Writer jamonWriter)
throws java.io.IOException
{
// 24, 1
BlockCache bc = cacheConfig == null? null: cacheConfig.getBlockCache();
String bcUrl = null;
String bcName = null;
if (bc != null) {
bcUrl = "http://hbase.apache.org/devapidocs/" + bc.getClass().getName().replaceAll("\\.", "/") + ".html";
bcName = bc.getClass().getSimpleName();
}
BlockCache [] bcs = cacheConfig == null? null: cacheConfig.getBlockCache() == null? null: cacheConfig.getBlockCache().getBlockCaches();
// 50, 1
jamonWriter.write("\n \n \n \n ");
// 60, 13
{
// 60, 13
__jamon_innerUnit__bc_baseInfo(jamonWriter, cacheConfig, bcUrl, bcName);
}
// 60, 91
jamonWriter.write("\n \n \n ");
// 63, 13
{
// 63, 13
__jamon_innerUnit__bc_config(jamonWriter, cacheConfig );
}
// 63, 55
jamonWriter.write("\n \n \n ");
// 66, 13
{
// 66, 13
__jamon_innerUnit__bc_stats(jamonWriter, cacheConfig );
}
// 66, 54
jamonWriter.write("\n \n \n ");
// 69, 13
{
// 69, 13
__jamon_innerUnit__bc_l(jamonWriter, bcs == null? bc: bcs[0], "L1" );
}
// 69, 66
jamonWriter.write("\n \n \n ");
// 72, 13
{
// 72, 13
__jamon_innerUnit__bc_l(jamonWriter, bcs == null? null: bcs.length <= 1? null: bcs[1], "L2" );
}
// 72, 92
jamonWriter.write("\n \n \n\n\n");
}
// 173, 1
private void __jamon_innerUnit__bc_stats(final java.io.Writer jamonWriter, final CacheConfig cacheConfig)
throws java.io.IOException
{
// 177, 1
if (cacheConfig == null || cacheConfig.getBlockCache() == null )
{
// 177, 67
jamonWriter.write("\nCacheConfig is null
\n");
}
// 179, 1
else
{
// 179, 8
jamonWriter.write("\n\n \n Attribute \n Value \n Description \n \n \n Size \n ");
// 188, 13
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(StringUtils.humanReadableInt(cacheConfig.getBlockCache().size())), jamonWriter);
// 188, 83
jamonWriter.write(" \n Total size of Block Cache (bytes) \n \n \n Free \n ");
// 193, 13
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(StringUtils.humanReadableInt(cacheConfig.getBlockCache().getFreeSize())), jamonWriter);
// 193, 90
jamonWriter.write(" \n Free space in Block Cache (bytes) \n \n \n Count \n ");
// 198, 13
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(String.format("%,d", cacheConfig.getBlockCache().getBlockCount())), jamonWriter);
// 198, 84
jamonWriter.write(" \n Number of blocks in Block Cache \n \n \n Evicted \n ");
// 203, 13
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(String.format("%,d", cacheConfig.getBlockCache().getStats().getEvictedCount())), jamonWriter);
// 203, 97
jamonWriter.write(" \n Number of blocks evicted \n \n \n Evictions \n ");
// 208, 13
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(String.format("%,d", cacheConfig.getBlockCache().getStats().getEvictionCount())), jamonWriter);
// 208, 98
jamonWriter.write(" \n Number of times an eviction occurred \n \n \n Hits \n ");
// 213, 13
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(String.format("%,d", cacheConfig.getBlockCache().getStats().getHitCount())), jamonWriter);
// 213, 93
jamonWriter.write(" \n Number requests that were cache hits \n \n \n Hits Caching \n ");
// 218, 13
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(String.format("%,d", cacheConfig.getBlockCache().getStats().getHitCachingCount())), jamonWriter);
// 218, 100
jamonWriter.write(" \n Cache hit block requests but only requests set to use Block Cache \n \n \n Misses \n ");
// 223, 13
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(String.format("%,d", cacheConfig.getBlockCache().getStats().getMissCount())), jamonWriter);
// 223, 94
jamonWriter.write(" \n Number of requests that were cache misses \n \n \n Misses Caching \n ");
// 228, 13
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(String.format("%,d", cacheConfig.getBlockCache().getStats().getMissCount())), jamonWriter);
// 228, 94
jamonWriter.write(" \n Block requests that were cache misses but only requests set to use Block Cache \n \n \n Hit Ratio \n ");
// 233, 13
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(String.format("%,.2f", cacheConfig.getBlockCache().getStats().getHitRatio() * 100)), jamonWriter);
// 233, 101
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf("%"), jamonWriter);
// 233, 110
jamonWriter.write(" \n Hit Count divided by total requests count \n \n
\nIf Block Cache is made up of more than one cache -- i.e. a L1 and a L2 -- then the above\nare combined counts. Request count is sum of hits and misses.
\n");
}
// 239, 7
jamonWriter.write("\n");
}
// 119, 1
private void __jamon_innerUnit__bc_config(final java.io.Writer jamonWriter, final CacheConfig cacheConfig)
throws java.io.IOException
{
// 123, 1
if (cacheConfig == null )
{
// 123, 28
jamonWriter.write("\nCacheConfig is null
\n");
}
// 125, 1
else
{
// 125, 8
jamonWriter.write("\n\n \n Attribute \n Value \n Description \n \n \n Cache DATA on Read \n ");
// 134, 13
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(cacheConfig.shouldCacheDataOnRead()), jamonWriter);
// 134, 54
jamonWriter.write(" \n True if DATA blocks are cached on read\n (INDEX & BLOOM blocks are always cached) \n \n \n Cache DATA on Write \n ");
// 140, 13
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(cacheConfig.shouldCacheDataOnWrite()), jamonWriter);
// 140, 55
jamonWriter.write(" \n True if DATA blocks are cached on write. \n \n \n Cache INDEX on Write \n ");
// 145, 13
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(cacheConfig.shouldCacheIndexesOnWrite()), jamonWriter);
// 145, 58
jamonWriter.write(" \n True if INDEX blocks are cached on write \n \n \n Cache BLOOM on Write \n ");
// 150, 13
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(cacheConfig.shouldCacheBloomsOnWrite()), jamonWriter);
// 150, 57
jamonWriter.write(" \n True if BLOOM blocks are cached on write \n \n \n Evict blocks on Close \n ");
// 155, 13
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(cacheConfig.shouldEvictOnClose()), jamonWriter);
// 155, 51
jamonWriter.write(" \n True if blocks are evicted from cache when an HFile\n reader is closed \n \n \n Cache DATA in compressed format \n ");
// 161, 13
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(cacheConfig.shouldCacheDataCompressed()), jamonWriter);
// 161, 58
jamonWriter.write(" \n True if DATA blocks are cached in their compressed form \n \n \n Prefetch on Open \n ");
// 166, 13
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(cacheConfig.shouldPrefetchOnOpen()), jamonWriter);
// 166, 53
jamonWriter.write(" \n True if blocks are prefetched into cache on open \n \n
\n");
}
// 170, 7
jamonWriter.write("\n");
}
// 77, 1
private void __jamon_innerUnit__bc_baseInfo(final java.io.Writer jamonWriter, final CacheConfig cacheConfig, final String bcUrl, final String bcName)
throws java.io.IOException
{
// 83, 1
BlockCache bc = cacheConfig == null? null: cacheConfig.getBlockCache();
BlockCache [] bcs = bc == null? null: bc.getBlockCaches();
String bcl1Url = null;
String bcl1Name = null;
String bcl2Url = null;
String bcl2Name = null;
if (bcs != null) {
BlockCache bcl1 = bcs[0];
if (bcl1 != null) {
bcl1Url = "http://hbase.apache.org/devapidocs/" + bcl1.getClass().getName().replaceAll("\\.", "/") + ".html";
bcl1Name = bcl1.getClass().getSimpleName();
}
if (bcs.length == 2) {
BlockCache bcl2 = bcs[1];
bcl2Url = "http://hbase.apache.org/devapidocs/" + bcl2.getClass().getName().replaceAll("\\.", "/") + ".html";
bcl2Name = bcl2.getClass().getSimpleName();
}
}
// 103, 1
jamonWriter.write("\n \n Attribute \n Value \n Description \n \n \n \n Implementation \n ");
// 112, 35
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(bcName), jamonWriter);
// 112, 47
jamonWriter.write(" \n Block Cache implementing class \n \n
\nSee Block Cache in the HBase Reference Guide for help.
\n");
}
// 254, 1
private void __jamon_innerUnit__block_cache(final java.io.Writer jamonWriter, final BlockCache bc, final String name)
throws java.io.IOException
{
// 259, 1
final long nanosPerSecond = 1000000000;
String bcUrl = "http://hbase.apache.org/devapidocs/" + bc.getClass().getName().replaceAll("\\.", "/") + ".html";
String bcName = bc.getClass().getSimpleName();
org.apache.hadoop.hbase.io.hfile.BlockCacheUtil.CachedBlocksByFile cbsbf =
org.apache.hadoop.hbase.io.hfile.BlockCacheUtil.getLoadedCachedBlocksByFile(config, bc);
AgeSnapshot snapshot = cbsbf.getAgeSnapshot();
boolean slabCache = bc.getClass().getSimpleName().equals("SlabCache");
Map sizer = null;
boolean bucketCache = bc.getClass().getSimpleName().equals("BucketCache");
BucketCacheStats bucketCacheStats = null;
BucketAllocator bucketAllocator = null;
Bucket [] buckets = null;
if (slabCache) {
sizer = ((SlabCache)bc).getSizer();
} else if (bucketCache) {
bucketCacheStats = (BucketCacheStats)bc.getStats();
bucketAllocator = ((BucketCache)bc).getAllocator();
buckets = bucketAllocator.getBuckets();
}
// 283, 1
if (cbsbf.isFull() )
{
// 283, 23
jamonWriter.write("\n\n
\nThe stats below are incomplete! We ran into our accounting limit of ");
// 286, 86
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(cbsbf.getCount()), jamonWriter);
// 286, 108
jamonWriter.write(" blocks. Up the configuration hbase.ui.blockcache.by.file.max.\n\n \n");
}
// 289, 7
jamonWriter.write("\n\n \n Attribute \n Value \n Description \n \n \n Implementation \n ");
// 298, 35
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(bc.getClass().getSimpleName()), jamonWriter);
// 298, 70
jamonWriter.write(" \n Class implementing this Block Cache Level \n \n");
// 301, 1
if (bucketCache )
{
// 301, 20
jamonWriter.write("\n \n Implementation \n ");
// 304, 13
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(((BucketCache)bc).getIoEngine()), jamonWriter);
// 304, 50
jamonWriter.write(" \n IOEngine \n \n");
}
// 307, 7
jamonWriter.write("\n \n Count \n ");
// 310, 13
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(String.format("%,d", cbsbf.getCount())), jamonWriter);
// 310, 57
jamonWriter.write(" \n Count of Blocks \n \n");
// 313, 1
if (!bucketCache )
{
// 313, 21
jamonWriter.write("\n \n Count \n ");
// 316, 13
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(String.format("%,d", cbsbf.getDataCount())), jamonWriter);
// 316, 61
jamonWriter.write(" \n Count of DATA Blocks \n \n");
}
// 319, 7
jamonWriter.write("\n \n Size \n ");
// 322, 13
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(StringUtils.humanReadableInt(cbsbf.getSize())), jamonWriter);
// 322, 64
jamonWriter.write(" \n Size of Blocks \n \n");
// 325, 1
if (!bucketCache )
{
// 325, 21
jamonWriter.write("\n \n Size \n ");
// 328, 13
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(StringUtils.humanReadableInt(cbsbf.getDataSize())), jamonWriter);
// 328, 68
jamonWriter.write(" \n Size of DATA Blocks \n \n");
}
// 331, 7
jamonWriter.write("\n \n Evicted \n ");
// 334, 13
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(String.format("%,d", bc.getStats().getEvictedCount())), jamonWriter);
// 334, 72
jamonWriter.write(" \n The total number of blocks evicted \n \n \n Evictions \n ");
// 339, 13
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(String.format("%,d", bc.getStats().getEvictionCount())), jamonWriter);
// 339, 73
jamonWriter.write(" \n The total number of times an eviction has occurred \n \n");
// 343, 1
if (!slabCache )
{
// 343, 19
jamonWriter.write("\n \n Mean \n ");
// 346, 13
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(String.format("%,d", (long)(snapshot.getMean()/nanosPerSecond))), jamonWriter);
// 346, 82
jamonWriter.write(" \n Mean age of Blocks in cache (seconds) \n \n \n StdDev \n ");
// 351, 13
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(String.format("%,d", (long)(snapshot.getStdDev()/nanosPerSecond))), jamonWriter);
// 351, 84
jamonWriter.write(" \n Age standard deviation of Blocks in cache \n \n \n Min \n ");
// 356, 13
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(String.format("%,d", (long)(snapshot.getMin()/nanosPerSecond))), jamonWriter);
// 356, 81
jamonWriter.write(" \n Min age of Blocks in cache (seconds) \n \n \n Max \n ");
// 361, 13
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(String.format("%,d", (long)(snapshot.getMax()/nanosPerSecond))), jamonWriter);
// 361, 81
jamonWriter.write(" \n Max age of Blocks in cache (seconds) \n \n \n 95th Percentile \n ");
// 366, 13
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(String.format("%,d", (long)(snapshot.get95thPercentile()/nanosPerSecond))), jamonWriter);
// 366, 92
jamonWriter.write(" \n 95th percentile of age of Blocks in cache (seconds) \n \n \n 99th Percentile \n ");
// 371, 13
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(String.format("%,d", (long)(snapshot.get99thPercentile()/nanosPerSecond))), jamonWriter);
// 371, 92
jamonWriter.write(" \n 99th percentile of age of Blocks in cache (seconds) \n \n");
}
// 374, 7
jamonWriter.write("\n");
// 375, 1
if (bucketCache )
{
// 375, 20
jamonWriter.write("\n \n Hits per Second \n ");
// 378, 13
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(bucketCacheStats.getIOHitsPerSecond()), jamonWriter);
// 378, 56
jamonWriter.write(" \n Block gets against this cache per second \n \n \n Time per Hit \n ");
// 383, 13
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(bucketCacheStats.getIOTimePerHit()), jamonWriter);
// 383, 53
jamonWriter.write(" \n Time per cache hit \n \n");
}
// 386, 7
jamonWriter.write("\n
\nView Block Cache as JSON | Block Cache as JSON by file
\n");
// 390, 1
if (bucketCache )
{
// 390, 20
jamonWriter.write("\nBucketCache does not discern between DATA and META blocks so we do not show DATA counts (If deploy is using CombinedBlockCache, BucketCache is only DATA blocks
\nBucketCache Buckets
\n\n \n Bucket Offset \n Allocation Size \n Free Bytes \n Used Bytes \n \n");
// 400, 1
for (Bucket bucket: buckets )
{
// 400, 32
jamonWriter.write("\n \n ");
// 402, 13
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(bucket.getBaseOffset()), jamonWriter);
// 402, 41
jamonWriter.write(" \n ");
// 403, 13
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(bucket.getItemAllocationSize()), jamonWriter);
// 403, 49
jamonWriter.write(" \n ");
// 404, 13
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(bucket.getFreeBytes()), jamonWriter);
// 404, 40
jamonWriter.write(" \n ");
// 405, 13
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(bucket.getUsedBytes()), jamonWriter);
// 405, 40
jamonWriter.write(" \n \n");
}
// 407, 8
jamonWriter.write("\n
\n");
}
// 409, 1
else if (slabCache )
{
// 409, 22
jamonWriter.write("\nSlabCache does not keep account of block ages so can not show stats on how long blocks have been cached.
\nSlabCache Slabs
\n\n \n Block Size \n Size \n Free Size \n Count \n Evicted \n Evictions \n Hits \n Caching \n Misses \n Caching \n Hit Ratio \n \n");
// 426, 1
for (Map.Entry e: sizer.entrySet() )
{
// 426, 65
jamonWriter.write("\n \n ");
// 428, 13
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(StringUtils.humanReadableInt(e.getKey())), jamonWriter);
// 428, 59
jamonWriter.write(" \n ");
// 429, 13
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(StringUtils.humanReadableInt(e.getValue().size())), jamonWriter);
// 429, 68
jamonWriter.write(" \n ");
// 430, 13
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(StringUtils.humanReadableInt(e.getValue().getFreeSize())), jamonWriter);
// 430, 75
jamonWriter.write(" \n ");
// 431, 13
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(StringUtils.humanReadableInt(e.getValue().getBlockCount())), jamonWriter);
// 431, 77
jamonWriter.write(" \n ");
// 432, 13
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(StringUtils.humanReadableInt(e.getValue().getStats().getEvictedCount())), jamonWriter);
// 432, 90
jamonWriter.write(" \n ");
// 433, 13
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(StringUtils.humanReadableInt(e.getValue().getStats().getEvictionCount())), jamonWriter);
// 433, 91
jamonWriter.write(" \n ");
// 434, 13
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(StringUtils.humanReadableInt(e.getValue().getStats().getHitCount())), jamonWriter);
// 434, 86
jamonWriter.write(" \n ");
// 435, 13
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(StringUtils.humanReadableInt(e.getValue().getStats().getHitCachingCount())), jamonWriter);
// 435, 93
jamonWriter.write(" \n ");
// 436, 13
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(StringUtils.humanReadableInt(e.getValue().getStats().getMissCount())), jamonWriter);
// 436, 87
jamonWriter.write(" \n ");
// 437, 13
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(StringUtils.humanReadableInt(e.getValue().getStats().getMissCachingCount())), jamonWriter);
// 437, 94
jamonWriter.write(" \n ");
// 438, 13
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(String.format("%,.2f", e.getValue().getStats().getHitRatio() * 100)), jamonWriter);
// 438, 86
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf("%"), jamonWriter);
// 438, 95
jamonWriter.write(" \n \n");
}
// 440, 8
jamonWriter.write("\n
\n");
}
// 442, 7
jamonWriter.write("\n");
// 443, 1
cbsbf = null;
}
// 242, 1
private void __jamon_innerUnit__bc_l(final java.io.Writer jamonWriter, final BlockCache bc, final String name)
throws java.io.IOException
{
// 247, 1
if (bc == null )
{
// 247, 19
jamonWriter.write("\nNo ");
// 248, 7
org.jamon.escaping.Escaping.HTML.write(org.jamon.emit.StandardEmitter.valueOf(name), jamonWriter);
// 248, 17
jamonWriter.write(" deployed
\n");
}
// 249, 1
else
{
// 249, 8
jamonWriter.write("\n");
// 250, 1
{
// 250, 1
__jamon_innerUnit__block_cache(jamonWriter, bc, name);
}
// 250, 42
jamonWriter.write("\n");
}
// 251, 7
jamonWriter.write("\n");
}
}