/* * Copyright (C) 1996-2023 The Squid Software Foundation and contributors * * Squid software is distributed under GPLv2+ license and includes * contributions from numerous individuals and organizations. * Please see the COPYING and CONTRIBUTORS files for details. */ #ifndef SQUID_SRC_MEM_STATS_H #define SQUID_SRC_MEM_STATS_H #include "mem/forward.h" namespace Mem { class PoolStats { public: Allocator *pool = nullptr; const char *label = nullptr; PoolMeter *meter = nullptr; int obj_size = 0; int chunk_capacity = 0; int chunk_size = 0; int chunks_alloc = 0; int chunks_inuse = 0; int chunks_partial = 0; int chunks_free = 0; int items_alloc = 0; int items_inuse = 0; int items_idle = 0; int overhead = 0; }; /** * Fills a Mem::PoolStats with statistical data about overall * usage for all pools. * * \return Number of pools that have at least one object in use. * Ie. number of dirty pools. */ extern size_t GlobalStats(PoolStats &); } // namespace Mem #endif /* SQUID_SRC_MEM_STATS_H */