/*
 * Copyright 2015 The Netty Project
 *
 * The Netty Project licenses this file to you under the Apache License,
 * version 2.0 (the "License"); you may not use this file except in compliance
 * with the License. You may obtain a copy of the License at:
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations
 * under the License.
 */

package io.netty.buffer;

import java.util.List;

Expose metrics for an arena.
/** * Expose metrics for an arena. */
public interface PoolArenaMetric {
Returns the number of thread caches backed by this arena.
/** * Returns the number of thread caches backed by this arena. */
int numThreadCaches();
Returns the number of tiny sub-pages for the arena.
/** * Returns the number of tiny sub-pages for the arena. */
int numTinySubpages();
Returns the number of small sub-pages for the arena.
/** * Returns the number of small sub-pages for the arena. */
int numSmallSubpages();
Returns the number of chunk lists for the arena.
/** * Returns the number of chunk lists for the arena. */
int numChunkLists();
Returns an unmodifiable List which holds PoolSubpageMetrics for tiny sub-pages.
/** * Returns an unmodifiable {@link List} which holds {@link PoolSubpageMetric}s for tiny sub-pages. */
List<PoolSubpageMetric> tinySubpages();
Returns an unmodifiable List which holds PoolSubpageMetrics for small sub-pages.
/** * Returns an unmodifiable {@link List} which holds {@link PoolSubpageMetric}s for small sub-pages. */
List<PoolSubpageMetric> smallSubpages();
Returns an unmodifiable List which holds PoolChunkListMetrics.
/** * Returns an unmodifiable {@link List} which holds {@link PoolChunkListMetric}s. */
List<PoolChunkListMetric> chunkLists();
Return the number of allocations done via the arena. This includes all sizes.
/** * Return the number of allocations done via the arena. This includes all sizes. */
long numAllocations();
Return the number of tiny allocations done via the arena.
/** * Return the number of tiny allocations done via the arena. */
long numTinyAllocations();
Return the number of small allocations done via the arena.
/** * Return the number of small allocations done via the arena. */
long numSmallAllocations();
Return the number of normal allocations done via the arena.
/** * Return the number of normal allocations done via the arena. */
long numNormalAllocations();
Return the number of huge allocations done via the arena.
/** * Return the number of huge allocations done via the arena. */
long numHugeAllocations();
Return the number of deallocations done via the arena. This includes all sizes.
/** * Return the number of deallocations done via the arena. This includes all sizes. */
long numDeallocations();
Return the number of tiny deallocations done via the arena.
/** * Return the number of tiny deallocations done via the arena. */
long numTinyDeallocations();
Return the number of small deallocations done via the arena.
/** * Return the number of small deallocations done via the arena. */
long numSmallDeallocations();
Return the number of normal deallocations done via the arena.
/** * Return the number of normal deallocations done via the arena. */
long numNormalDeallocations();
Return the number of huge deallocations done via the arena.
/** * Return the number of huge deallocations done via the arena. */
long numHugeDeallocations();
Return the number of currently active allocations.
/** * Return the number of currently active allocations. */
long numActiveAllocations();
Return the number of currently active tiny allocations.
/** * Return the number of currently active tiny allocations. */
long numActiveTinyAllocations();
Return the number of currently active small allocations.
/** * Return the number of currently active small allocations. */
long numActiveSmallAllocations();
Return the number of currently active normal allocations.
/** * Return the number of currently active normal allocations. */
long numActiveNormalAllocations();
Return the number of currently active huge allocations.
/** * Return the number of currently active huge allocations. */
long numActiveHugeAllocations();
Return the number of active bytes that are currently allocated by the arena.
/** * Return the number of active bytes that are currently allocated by the arena. */
long numActiveBytes(); }