Example usage for io.netty.buffer PooledByteBufAllocatorMetric heapArenas

List of usage examples for io.netty.buffer PooledByteBufAllocatorMetric heapArenas

Introduction

In this page you can find the example usage for io.netty.buffer PooledByteBufAllocatorMetric heapArenas.

Prototype

public List<PoolArenaMetric> heapArenas() 

Source Link

Document

Return a List of all heap PoolArenaMetric s that are provided by this pool.

Usage

From source file:org.apache.spark.network.util.NettyMemoryMetrics.java

License:Apache License

private void registerMetrics(PooledByteBufAllocator allocator) {
    PooledByteBufAllocatorMetric pooledAllocatorMetric = allocator.metric();

    // Register general metrics.
    allMetrics.put(MetricRegistry.name(metricPrefix, "usedHeapMemory"),
            (Gauge<Long>) () -> pooledAllocatorMetric.usedHeapMemory());
    allMetrics.put(MetricRegistry.name(metricPrefix, "usedDirectMemory"),
            (Gauge<Long>) () -> pooledAllocatorMetric.usedDirectMemory());

    if (verboseMetricsEnabled) {
        int directArenaIndex = 0;
        for (PoolArenaMetric metric : pooledAllocatorMetric.directArenas()) {
            registerArenaMetric(metric, "directArena" + directArenaIndex);
            directArenaIndex++;/*from   w ww .  ja  v a  2 s  . com*/
        }

        int heapArenaIndex = 0;
        for (PoolArenaMetric metric : pooledAllocatorMetric.heapArenas()) {
            registerArenaMetric(metric, "heapArena" + heapArenaIndex);
            heapArenaIndex++;
        }
    }
}

From source file:org.springframework.core.io.buffer.AbstractDataBufferAllocatingTests.java

License:Apache License

private void verifyAllocations() {
    if (this.bufferFactory instanceof NettyDataBufferFactory) {
        ByteBufAllocator allocator = ((NettyDataBufferFactory) this.bufferFactory).getByteBufAllocator();
        if (allocator instanceof PooledByteBufAllocator) {
            Instant start = Instant.now();
            while (true) {
                PooledByteBufAllocatorMetric metric = ((PooledByteBufAllocator) allocator).metric();
                long total = getAllocations(metric.directArenas()) + getAllocations(metric.heapArenas());
                if (total == 0) {
                    return;
                }//from  w  w w .  ja v  a2 s. com
                if (Instant.now().isBefore(start.plus(Duration.ofSeconds(5)))) {
                    try {
                        Thread.sleep(50);
                    } catch (InterruptedException ex) {
                        // ignore
                    }
                    continue;
                }
                assertThat(total).as("ByteBuf Leak: " + total + " unreleased allocations").isEqualTo(0);
            }
        }
    }
}

From source file:ratpack.dropwizard.metrics.internal.PooledByteBufAllocatorMetricSet.java

License:Apache License

private void initMetrics() {
    final PooledByteBufAllocatorMetric metric = pooledByteBufAllocator.metric();

    metrics.put("numDirectArenas", (Gauge<Integer>) () -> metric.numDirectArenas());
    metrics.put("numHeapArenas", (Gauge<Integer>) () -> metric.numHeapArenas());
    metrics.put("numThreadLocalCaches", (Gauge<Integer>) () -> metric.numThreadLocalCaches());
    metrics.put("smallCacheSize", (Gauge<Integer>) () -> metric.smallCacheSize());
    metrics.put("tinyCacheSize", (Gauge<Integer>) () -> metric.tinyCacheSize());
    metrics.put("normalCacheSize", (Gauge<Integer>) () -> metric.normalCacheSize());
    metrics.put("chunkSize", (Gauge<Integer>) () -> metric.chunkSize());

    metrics.put("usedDirectMemory", (Gauge<Long>) () -> metric.usedDirectMemory());
    metrics.put("usedHeapMemory", (Gauge<Long>) () -> metric.usedHeapMemory());

    if (includeArenas) {
        final Iterator<PoolArenaMetric> directArenasIterator = metric.directArenas().iterator();
        initPoolArenaMetrics(directArenasIterator);

        final Iterator<PoolArenaMetric> heapArenasIterator = metric.heapArenas().iterator();
        initPoolArenaMetrics(heapArenasIterator);
    }/*from   w w w .ja  v  a2 s  . com*/
}