List of usage examples for io.netty.buffer PoolArenaMetric tinySubpages
List<PoolSubpageMetric> tinySubpages();
From source file:com.heliosapm.utils.buffer.BufferArenaMonitor.java
License:Apache License
/** * <p>Refreshes the arena stats</p> * {@inheritDoc}// ww w. j av a 2 s. c o m * @see java.lang.Runnable#run() */ @Override public void run() { final long start = System.currentTimeMillis(); final List<PoolArenaMetric> arenaMetrics = direct ? pooledAllocator.directArenas() : pooledAllocator.heapArenas(); totalChunkSize = 0; chunkFreeBytes = 0; chunkUsedBytes = 0; chunkUsage = 0; chunkLists = 0; smallSubPages = 0; tinySubPages = 0; allocations = 0; tinyAllocations = 0; smallAllocations = 0; normalAllocations = 0; hugeAllocations = 0; deallocations = 0; tinyDeallocations = 0; smallDeallocations = 0; normalDeallocations = 0; hugeDeallocations = 0; activeAllocations = 0; activeTinyAllocations = 0; activeSmallAllocations = 0; activeNormalAllocations = 0; activeHugeAllocations = 0; for (PoolArenaMetric poolArenaMetric : arenaMetrics) { for (PoolChunkListMetric pclm : poolArenaMetric.chunkLists()) { for (Iterator<PoolChunkMetric> iter = pclm.iterator(); iter.hasNext();) { PoolChunkMetric pcm = iter.next(); totalChunkSize += pcm.chunkSize(); chunkFreeBytes += pcm.freeBytes(); } } chunkLists += poolArenaMetric.chunkLists().size(); smallSubPages += poolArenaMetric.smallSubpages().size(); tinySubPages += poolArenaMetric.tinySubpages().size(); allocations += poolArenaMetric.numAllocations(); tinyAllocations += poolArenaMetric.numTinyAllocations(); smallAllocations += poolArenaMetric.numSmallAllocations(); normalAllocations += poolArenaMetric.numNormalAllocations(); hugeAllocations += poolArenaMetric.numHugeAllocations(); deallocations += poolArenaMetric.numDeallocations(); tinyDeallocations += poolArenaMetric.numTinyDeallocations(); smallDeallocations += poolArenaMetric.numSmallDeallocations(); normalDeallocations += poolArenaMetric.numNormalDeallocations(); hugeDeallocations += poolArenaMetric.numHugeDeallocations(); activeAllocations += poolArenaMetric.numActiveAllocations(); activeTinyAllocations += poolArenaMetric.numActiveTinyAllocations(); activeSmallAllocations += poolArenaMetric.numActiveSmallAllocations(); activeNormalAllocations += poolArenaMetric.numActiveNormalAllocations(); activeHugeAllocations += poolArenaMetric.numActiveHugeAllocations(); } chunkUsedBytes = totalChunkSize - chunkFreeBytes; chunkUsage = perc(totalChunkSize, chunkUsedBytes); lastElapsed = System.currentTimeMillis() - start; //log.debug("Collected [{}] allocator stats from [{}] arena metrics in {} ms.", type, arenaMetrics.size(), lastElapsed); }
From source file:com.yahoo.pulsar.broker.stats.AllocatorStatsGenerator.java
License:Apache License
private static PoolArenaStats newPoolArenaStats(PoolArenaMetric m) { PoolArenaStats stats = new PoolArenaStats(); stats.numTinySubpages = m.numTinySubpages(); stats.numSmallSubpages = m.numSmallSubpages(); stats.numChunkLists = m.numChunkLists(); stats.tinySubpages = m.tinySubpages().stream().map(x -> newPoolSubpageStats(x)) .collect(Collectors.toList()); stats.smallSubpages = m.smallSubpages().stream().map(x -> newPoolSubpageStats(x)) .collect(Collectors.toList()); stats.chunkLists = m.chunkLists().stream().map(x -> newPoolChunkListStats(x)).collect(Collectors.toList()); stats.numAllocations = m.numAllocations(); stats.numTinyAllocations = m.numTinyAllocations(); stats.numSmallAllocations = m.numSmallAllocations(); stats.numNormalAllocations = m.numNormalAllocations(); stats.numHugeAllocations = m.numHugeAllocations(); stats.numDeallocations = m.numDeallocations(); stats.numTinyDeallocations = m.numTinyDeallocations(); stats.numSmallDeallocations = m.numSmallDeallocations(); stats.numNormalDeallocations = m.numNormalDeallocations(); stats.numHugeDeallocations = m.numHugeDeallocations(); stats.numActiveAllocations = m.numActiveAllocations(); stats.numActiveTinyAllocations = m.numActiveTinyAllocations(); stats.numActiveSmallAllocations = m.numActiveSmallAllocations(); stats.numActiveNormalAllocations = m.numActiveNormalAllocations(); stats.numActiveHugeAllocations = m.numActiveHugeAllocations(); return stats; }
From source file:ratpack.dropwizard.metrics.internal.PooledByteBufAllocatorMetricSet.java
License:Apache License
private void initPoolArenaMetrics(final Iterator<PoolArenaMetric> poolArenasIterator) { int counter = 0; while (poolArenasIterator.hasNext()) { final PoolArenaMetric poolArenaMetric = poolArenasIterator.next(); final String prefix = format("poolArena.%s", counter); metrics.put(format("%s.activeAllocations", prefix), (Gauge<Long>) () -> poolArenaMetric.numActiveAllocations()); metrics.put(format("%s.numActiveBytes", prefix), (Gauge<Long>) () -> poolArenaMetric.numActiveBytes()); metrics.put(format("%s.numActiveHugeAllocations", prefix), (Gauge<Long>) () -> poolArenaMetric.numActiveHugeAllocations()); metrics.put(format("%s.numActiveNormalAllocations", prefix), (Gauge<Long>) () -> poolArenaMetric.numActiveNormalAllocations()); metrics.put(format("%s.numActiveSmallAllocations", prefix), (Gauge<Long>) () -> poolArenaMetric.numActiveSmallAllocations()); metrics.put(format("%s.numActiveTinyAllocations", prefix), (Gauge<Long>) () -> poolArenaMetric.numActiveTinyAllocations()); metrics.put(format("%s.numAllocations", prefix), (Gauge<Long>) () -> poolArenaMetric.numAllocations()); metrics.put(format("%s.numDeallocations", prefix), (Gauge<Long>) () -> poolArenaMetric.numDeallocations()); metrics.put(format("%s.numHugeAllocations", prefix), (Gauge<Long>) () -> poolArenaMetric.numHugeAllocations()); metrics.put(format("%s.numHugeDeallocations", prefix), (Gauge<Long>) () -> poolArenaMetric.numHugeDeallocations()); metrics.put(format("%s.numNormalAllocations", prefix), (Gauge<Long>) () -> poolArenaMetric.numNormalAllocations()); metrics.put(format("%s.numNormalDeallocations", prefix), (Gauge<Long>) () -> poolArenaMetric.numNormalDeallocations()); metrics.put(format("%s.numSmallAllocations", prefix), (Gauge<Long>) () -> poolArenaMetric.numSmallAllocations()); metrics.put(format("%s.numSmallDeallocations", prefix), (Gauge<Long>) () -> poolArenaMetric.numSmallDeallocations()); metrics.put(format("%s.numTinyAllocations", prefix), (Gauge<Long>) () -> poolArenaMetric.numTinyAllocations()); metrics.put(format("%s.numTinyDeallocations", prefix), (Gauge<Long>) () -> poolArenaMetric.numTinyDeallocations()); metrics.put(format("%s.numSmallSubpages", prefix), (Gauge<Integer>) () -> poolArenaMetric.numSmallSubpages()); metrics.put(format("%s.numTinySubpages", prefix), (Gauge<Integer>) () -> poolArenaMetric.numTinySubpages()); final Iterator<PoolChunkListMetric> chunksIterator = poolArenaMetric.chunkLists().iterator(); initPoolChunkListMetrics(prefix, chunksIterator); final Iterator<PoolSubpageMetric> smallSubpagesIterator = poolArenaMetric.smallSubpages().iterator(); initSubpageMetrics(prefix, "smallSubpage", smallSubpagesIterator); final Iterator<PoolSubpageMetric> tinySubpagesIterator = poolArenaMetric.tinySubpages().iterator(); initSubpageMetrics(prefix, "tinySubpage", tinySubpagesIterator); counter++;//from w ww . jav a2s . com } }