Example usage for io.netty.buffer PoolArenaMetric numNormalAllocations

List of usage examples for io.netty.buffer PoolArenaMetric numNormalAllocations

Introduction

In this page you can find the example usage for io.netty.buffer PoolArenaMetric numNormalAllocations.

Prototype

long numNormalAllocations();

Source Link

Document

Return the number of normal allocations done via the arena.

Usage

From source file:com.heliosapm.utils.buffer.BufferArenaMonitor.java

License:Apache License

/**
 * <p>Refreshes the arena stats</p>
 * {@inheritDoc}//  w ww  .ja  va  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++;//w ww. jav a2  s . c o m
    }
}