29#include <flow/util/string_view.hpp>
30#include <flow/util/stat/stat_set.hpp>
40 using flow::util::stat::print;
46 : (ln = (ln_ln =
" | "), verbose =
false);
52 <<
"]]]END_DUMP" << ln;
56 os <<
"jemalloc_dump/GLOBAL: [non-verbose/skipped]" << ln;
70 os <<
"mem_mgr/arena: [" << print(mem_mgr_stats) <<
']' << ln;
79 if (shm_pool_info_vec.empty())
81 os <<
"live_pools: [none]";
85 os <<
"live_pools->" << ln_ln;
88 const auto n_pools = shm_pool_info_vec.size();
89 for (
const auto& info : shm_pool_info_vec)
91 os <<
"pool[" << (++idx) <<
'/' << n_pools <<
"]: [" << print(info) <<
']';
105 using flow::util::stat::print;
109 : (ln = (ln_ln =
" | "));
115 if (brw_pool_stats_vec.empty())
117 os <<
"borrower_pool/by_arena/GLOBAL: [none]" << ln;
121 os <<
"borrower_pool/by_arena/GLOBAL->" << ln_ln;
124 const auto n_arenas = brw_pool_stats_vec.size();
125 for (
const auto& stats : brw_pool_stats_vec)
128 os <<
"arena[" << idx <<
'/' << n_arenas <<
"]: [" << print(stats) <<
']';
140 <<
"+omitted[" << n_omitted <<
']' << ln;
153 if (shm_pool_info_vec.empty())
155 os <<
"borrowed_pools: [none]";
159 os <<
"borrowed_pools->" << ln_ln;
162 const auto n_pools = shm_pool_info_vec.size();
163 for (
const auto& info : shm_pool_info_vec)
165 os <<
"pool[" << (++idx) <<
'/' << n_pools <<
"]: [" << print(info) <<
']';
Stats-related sub-namespace for SHM-jemalloc, for general organization (and ADL segregation if needed...
std::ostream & operator<<(std::ostream &os, const Arena_info_dump &val)
Prints string representation of the given Arena_info_dump to the given ostream.
flow::util::String_view String_view
Short-hand for Flow's String_view.
Printable (with knobs in contained util::stat::Info_dump_format) bundling of stats/info relevant to (...
std::vector< arena_lend::stat::Shm_pool_info > m_shm_pool_live_info
Target Ipc_arena's info from: Ipc_arena::shm_pool_live_info().
arena_lend::stat::Obj_db_aux_pool_global_stats m_obj_db_aux_pool_global_stats
Global stats from: static Ipc_arena::obj_db_aux_pool_global_stats().
util::stat::Info_dump_format m_fmt
Print-format knobs in effect at ostream << *this time.
arena_lend::stat::Owner_pool_lookup_global_stats m_owner_pool_lookup_global_stats
Global stats from: static Ipc_arena::owner_pool_lookup_global_stats().
std::vector< arena_lend::stat::Memory_manager_stats > m_mem_mgr_stats
Target Ipc_arena's stats from: Ipc_arena::memory_manager_stats().
arena_lend::stat::Sharded_stats m_sharded_stats
Target Ipc_arena's stats from: Ipc_arena::sharded_stats().
std::string m_mem_mgr_stats_dump
If unavailable then empty; otherwise the newline-terminated output of Memory_manager::stats_dump_to_o...
arena_lend::stat::Pool_stats m_pool_stats
Target Ipc_arena's stats from: Ipc_arena::pool_stats().
Printable (with knobs in contained util::stat::Info_dump_format) bundling of stats/info relevant to (...
size_t m_borrower_pool_stats_process_wide_per_arena_n_omitted
If m_fmt.m_verbose == false at Shm_session::info_dump() time, this is the # (possibly zero) of entrie...
arena_lend::stat::Borrower_pool_stats m_borrower_pool_stats_process_wide_total
Global stats from: static Shm_session::borrower_pool_stats_process_wide(): return value.
arena_lend::stat::Borrower_pool_stats m_borrower_pool_stats
Target Shm_session's stats from: Shm_session::borrower_pool_stats().
std::vector< arena_lend::stat::Borrower_pool_stats > m_borrower_pool_stats_process_wide_per_arena
Global stats from: static Shm_session::borrower_pool_stats_process_wide(): the per-arena out-arg.
util::stat::Info_dump_format m_fmt
Print-format knobs in effect at ostream << *this time.
std::vector< arena_lend::stat::Shm_pool_info > m_borrowed_shm_pool_live_info
Global info from: static Shm_session::shm_pool_live_info().
arena_lend::stat::Borrower_pool_lookup_global_stats m_borrower_pool_lookup_global_stats
Global stats from: static Shm_session::borrower_pool_lookup_global_stats().