Flow-IPC 3.0.0
Flow-IPC project: Full implementation reference.
Classes | Namespaces | Functions
stats.hpp File Reference
#include "ipc/shm/arena_lend/arena_lend_stats.hpp"
#include "ipc/shm/arena_lend/detail/arena_lend_fwd.hpp"
#include "ipc/common.hpp"
#include <flow/util/thread_lcl.hpp>
#include <flow/util/util.hpp>
#include <flow/util/stat/stat_set.hpp>
#include <flow/util/stat/stat_set_list.hpp>
#include <flow/util/util_fwd.hpp>
#include <boost/unordered/unordered_flat_map.hpp>
#include <boost/thread/tss.hpp>
#include <boost/move/unique_ptr.hpp>
#include <boost/range/join.hpp>
#include <boost/range/iterator_range.hpp>
#include <boost/range/adaptor/filtered.hpp>
#include <boost/range/adaptor/transformed.hpp>
#include <boost/range/adaptor/map.hpp>
#include <boost/range/algorithm/for_each.hpp>
#include <mutex>
#include <memory>

Go to the source code of this file.

Classes

class  ipc::shm::arena_lend::detail::stat::Finalized_shards< Shm_arena_t >
 (Internal-use) Singleton (per-Shm_arena type <=> per-arena-lending SHM-provider – like SHM-jemalloc) into which owners of per-arena TL-shards (of type Sharded_stats) can deposit such TL-shards that are finalized (will never be updated with new measurements again) + can no longer be stored in TL-state objects; and from which stat-consumption code can read and still aggregate these finalized but still fully valid stat-shards. More...
 

Namespaces

namespace  ipc
 Catch-all namespace for the Flow-IPC project: A library/API in modern C++17 providing high-performance communication between processes.
 
namespace  ipc::shm
 Modules for SHared Memory (SHM) support.
 
namespace  ipc::shm::arena_lend
 ipc::shm sub-module providing the SHM-provider family based on the arena-lending paradigm: each process allocates in its own arena(s), lending the resulting objects to other processes, which can read them but not allocate (nor deallocate) in that arena.
 
namespace  ipc::shm::arena_lend::detail
 Segregated private stuff for ipc::shm::arena_lend.
 
namespace  ipc::shm::arena_lend::detail::stat
 Stats-related sub-namespace, for ADL segregation and general organization.
 

Functions

template<typename Shm_arena >
void ipc::shm::arena_lend::detail::stat::sharded_stats (const Shm_arena &shm_arena, Sharded_stats *target_stats)
 Assembles and outputs the current stats tracked by the obj-DB module (as anchored by Thread_lcl_obj_db_admin). More...
 
template<typename Shm_arena >
void ipc::shm::arena_lend::detail::stat::sharded_stats_reset (const Shm_arena &shm_arena, Sharded_stats *target_stats)
 Resets Sharded_stats; companion to sharded_stats(). More...
 
template<bool CONSUME_ELSE_RESET, typename Shm_arena >
void ipc::shm::arena_lend::detail::stat::sharded_stats_impl (const Shm_arena &shm_arena, Sharded_stats *target_stats)
 Helper: implements sharded_stats() or sharded_stats_reset(). More...