Example usage for io.netty.buffer PoolChunkMetric chunkSize

List of usage examples for io.netty.buffer PoolChunkMetric chunkSize

Introduction

In this page you can find the example usage for io.netty.buffer PoolChunkMetric chunkSize.

Prototype

int chunkSize();

Source Link

Document

Return the size of the chunk in bytes, this is the maximum of bytes that can be served out of the chunk.

Usage

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

License:Apache License

/**
 * <p>Refreshes the arena stats</p>
 * {@inheritDoc}/*from  www. j  a  v  a 2s  . com*/
 * @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 PoolChunkStats newPoolChunkStats(PoolChunkMetric m) {
    PoolChunkStats stats = new PoolChunkStats();
    stats.usage = m.usage();//from www.j  ava2  s .c o  m
    stats.chunkSize = m.chunkSize();
    stats.freeBytes = m.freeBytes();
    return stats;
}

From source file:com.yahoo.pulsar.broker.stats.metrics.JvmMetrics.java

License:Apache License

@SuppressWarnings("restriction")
@Override/*from w  ww.  j a  va 2  s .  c  o m*/
public List<Metrics> generate() {

    Metrics m = createMetrics();

    Runtime r = Runtime.getRuntime();

    m.put("jvm_heap_used", r.totalMemory() - r.freeMemory());
    m.put("jvm_max_memory", r.maxMemory());
    m.put("jvm_total_memory", r.totalMemory());

    m.put("jvm_direct_memory_used",
            sun.misc.SharedSecrets.getJavaNioAccess().getDirectBufferPool().getMemoryUsed());
    m.put("jvm_max_direct_memory", sun.misc.VM.maxDirectMemory());
    m.put("jvm_thread_cnt", getThreadCount());

    m.put("jvm_gc_young_pause", currentYoungGcTime);
    m.put("jvm_gc_young_count", currentYoungGcCount);
    m.put("jvm_gc_old_pause", currentOldGcTime);
    m.put("jvm_gc_old_count", currentOldGcCount);

    long totalAllocated = 0;
    long totalUsed = 0;

    for (PoolArenaMetric arena : PooledByteBufAllocator.DEFAULT.directArenas()) {
        for (PoolChunkListMetric list : arena.chunkLists()) {
            for (PoolChunkMetric chunk : list) {
                int size = chunk.chunkSize();
                int used = size - chunk.freeBytes();

                totalAllocated += size;
                totalUsed += used;
            }
        }
    }

    m.put("brk_default_pool_allocated", totalAllocated);
    m.put("brk_default_pool_used", totalUsed);

    return Lists.newArrayList(m);
}

From source file:com.yahoo.pulsar.broker.stats.metrics.ManagedLedgerCacheMetrics.java

License:Apache License

@Override
public List<Metrics> generate() {

    // get the ML cache stats bean

    ManagedLedgerFactoryMXBean mlCacheStats = getManagedLedgerCacheStats();

    Metrics m = createMetrics();//from   ww w.j  a  va 2  s . c om

    m.put("brk_ml_count", mlCacheStats.getNumberOfManagedLedgers());
    m.put("brk_ml_cache_used_size", mlCacheStats.getCacheUsedSize());
    m.put("brk_ml_cache_evictions", mlCacheStats.getNumberOfCacheEvictions());
    m.put("brk_ml_cache_hits_rate", mlCacheStats.getCacheHitsRate());
    m.put("brk_ml_cache_misses_rate", mlCacheStats.getCacheMissesRate());
    m.put("brk_ml_cache_hits_throughput", mlCacheStats.getCacheHitsThroughput());
    m.put("brk_ml_cache_misses_throughput", mlCacheStats.getCacheMissesThroughput());

    PooledByteBufAllocator allocator = EntryCacheImpl.allocator;
    long activeAllocations = 0;
    long activeAllocationsTiny = 0;
    long activeAllocationsSmall = 0;
    long activeAllocationsNormal = 0;
    long activeAllocationsHuge = 0;
    long totalAllocated = 0;
    long totalUsed = 0;

    for (PoolArenaMetric arena : allocator.directArenas()) {
        activeAllocations += arena.numActiveAllocations();
        activeAllocationsTiny += arena.numActiveTinyAllocations();
        activeAllocationsSmall += arena.numActiveSmallAllocations();
        activeAllocationsNormal += arena.numActiveNormalAllocations();
        activeAllocationsHuge += arena.numActiveHugeAllocations();

        for (PoolChunkListMetric list : arena.chunkLists()) {
            for (PoolChunkMetric chunk : list) {
                int size = chunk.chunkSize();
                int used = size - chunk.freeBytes();

                totalAllocated += size;
                totalUsed += used;
            }
        }
    }

    m.put("brk_ml_cache_pool_allocated", totalAllocated);
    m.put("brk_ml_cache_pool_used", totalUsed);
    m.put("brk_ml_cache_pool_active_allocations", activeAllocations);
    m.put("brk_ml_cache_pool_active_allocations_tiny", activeAllocationsTiny);
    m.put("brk_ml_cache_pool_active_allocations_small", activeAllocationsSmall);
    m.put("brk_ml_cache_pool_active_allocations_normal", activeAllocationsNormal);
    m.put("brk_ml_cache_pool_active_allocations_huge", activeAllocationsHuge);

    return Lists.newArrayList(m);

}

From source file:com.yahoo.pulsar.websocket.stats.JvmMetrics.java

License:Apache License

@SuppressWarnings("restriction")
public Metrics generate() {

    Map<String, String> dimensionMap = Maps.newHashMap();
    dimensionMap.put("system", "jvm");
    Metrics m = create(dimensionMap);/*from  w w  w. j  a v  a2 s.  com*/

    Runtime r = Runtime.getRuntime();

    m.put("jvm_heap_used", r.totalMemory() - r.freeMemory());
    m.put("jvm_max_memory", r.maxMemory());
    m.put("jvm_total_memory", r.totalMemory());

    m.put("jvm_max_direct_memory", sun.misc.VM.maxDirectMemory());
    m.put("jvm_thread_cnt", getThreadCount());

    m.put("jvm_gc_young_pause", currentYoungGcTime);
    m.put("jvm_gc_young_count", currentYoungGcCount);
    m.put("jvm_gc_old_pause", currentOldGcTime);
    m.put("jvm_gc_old_count", currentOldGcCount);

    long totalAllocated = 0;
    long totalUsed = 0;

    for (PoolArenaMetric arena : PooledByteBufAllocator.DEFAULT.directArenas()) {
        for (PoolChunkListMetric list : arena.chunkLists()) {
            for (PoolChunkMetric chunk : list) {
                int size = chunk.chunkSize();
                int used = size - chunk.freeBytes();

                totalAllocated += size;
                totalUsed += used;
            }
        }
    }

    m.put("proxy_default_pool_allocated", totalAllocated);
    m.put("proxy_default_pool_used", totalUsed);

    return m;
}

From source file:org.apache.pulsar.broker.stats.metrics.JvmMetrics.java

License:Apache License

@SuppressWarnings("restriction")
@Override//w  w  w.j  a v  a  2s .  c o m
public List<Metrics> generate() {

    Metrics m = createMetrics();

    Runtime r = Runtime.getRuntime();

    m.put("jvm_heap_used", r.totalMemory() - r.freeMemory());
    m.put("jvm_max_memory", r.maxMemory());
    m.put("jvm_total_memory", r.totalMemory());

    m.put("jvm_direct_memory_used", getJvmDirectMemoryUsed());
    m.put("jvm_max_direct_memory", sun.misc.VM.maxDirectMemory());
    m.put("jvm_thread_cnt", getThreadCount());

    m.put("jvm_gc_young_pause", currentYoungGcTime);
    m.put("jvm_gc_young_count", currentYoungGcCount);
    m.put("jvm_gc_old_pause", currentOldGcTime);
    m.put("jvm_gc_old_count", currentOldGcCount);

    long totalAllocated = 0;
    long totalUsed = 0;

    for (PoolArenaMetric arena : PooledByteBufAllocator.DEFAULT.directArenas()) {
        for (PoolChunkListMetric list : arena.chunkLists()) {
            for (PoolChunkMetric chunk : list) {
                int size = chunk.chunkSize();
                int used = size - chunk.freeBytes();

                totalAllocated += size;
                totalUsed += used;
            }
        }
    }

    m.put("brk_default_pool_allocated", totalAllocated);
    m.put("brk_default_pool_used", totalUsed);

    return Lists.newArrayList(m);
}

From source file:org.apache.pulsar.broker.stats.metrics.ManagedLedgerCacheMetrics.java

License:Apache License

@Override
public synchronized List<Metrics> generate() {

    // get the ML cache stats bean

    ManagedLedgerFactoryMXBean mlCacheStats = getManagedLedgerCacheStats();

    Metrics m = createMetrics();/*from   w  ww .  j  av  a  2  s . co  m*/

    m.put("brk_ml_count", mlCacheStats.getNumberOfManagedLedgers());
    m.put("brk_ml_cache_used_size", mlCacheStats.getCacheUsedSize());
    m.put("brk_ml_cache_evictions", mlCacheStats.getNumberOfCacheEvictions());
    m.put("brk_ml_cache_hits_rate", mlCacheStats.getCacheHitsRate());
    m.put("brk_ml_cache_misses_rate", mlCacheStats.getCacheMissesRate());
    m.put("brk_ml_cache_hits_throughput", mlCacheStats.getCacheHitsThroughput());
    m.put("brk_ml_cache_misses_throughput", mlCacheStats.getCacheMissesThroughput());

    PooledByteBufAllocator allocator = EntryCacheImpl.allocator;
    long activeAllocations = 0;
    long activeAllocationsTiny = 0;
    long activeAllocationsSmall = 0;
    long activeAllocationsNormal = 0;
    long activeAllocationsHuge = 0;
    long totalAllocated = 0;
    long totalUsed = 0;

    for (PoolArenaMetric arena : allocator.directArenas()) {
        activeAllocations += arena.numActiveAllocations();
        activeAllocationsTiny += arena.numActiveTinyAllocations();
        activeAllocationsSmall += arena.numActiveSmallAllocations();
        activeAllocationsNormal += arena.numActiveNormalAllocations();
        activeAllocationsHuge += arena.numActiveHugeAllocations();

        for (PoolChunkListMetric list : arena.chunkLists()) {
            for (PoolChunkMetric chunk : list) {
                int size = chunk.chunkSize();
                int used = size - chunk.freeBytes();

                totalAllocated += size;
                totalUsed += used;
            }
        }
    }

    m.put("brk_ml_cache_pool_allocated", totalAllocated);
    m.put("brk_ml_cache_pool_used", totalUsed);
    m.put("brk_ml_cache_pool_active_allocations", activeAllocations);
    m.put("brk_ml_cache_pool_active_allocations_tiny", activeAllocationsTiny);
    m.put("brk_ml_cache_pool_active_allocations_small", activeAllocationsSmall);
    m.put("brk_ml_cache_pool_active_allocations_normal", activeAllocationsNormal);
    m.put("brk_ml_cache_pool_active_allocations_huge", activeAllocationsHuge);

    metrics.clear();
    metrics.add(m);
    return metrics;

}

From source file:org.apache.pulsar.common.stats.JvmMetrics.java

License:Apache License

public List<Metrics> generate() {

    Metrics m = createMetrics();/*from   w ww .  j  a va 2s .c  o m*/

    Runtime r = Runtime.getRuntime();

    m.put("jvm_heap_used", r.totalMemory() - r.freeMemory());
    m.put("jvm_max_memory", r.maxMemory());
    m.put("jvm_total_memory", r.totalMemory());

    m.put("jvm_direct_memory_used", getJvmDirectMemoryUsed());
    m.put("jvm_max_direct_memory", PlatformDependent.maxDirectMemory());
    m.put("jvm_thread_cnt", getThreadCount());

    this.gcLogger.logMetrics(m);

    long totalAllocated = 0;
    long totalUsed = 0;

    for (PoolArenaMetric arena : PooledByteBufAllocator.DEFAULT.directArenas()) {
        for (PoolChunkListMetric list : arena.chunkLists()) {
            for (PoolChunkMetric chunk : list) {
                int size = chunk.chunkSize();
                int used = size - chunk.freeBytes();

                totalAllocated += size;
                totalUsed += used;
            }
        }
    }

    m.put(this.componentName + "_default_pool_allocated", totalAllocated);
    m.put(this.componentName + "_default_pool_used", totalUsed);

    return Lists.newArrayList(m);
}