CUBRID Engine
latest
|
#include <resource_tracker.hpp>
Public Types | |
using | res_type = Res |
using | map_type = std::map< res_type, resource_tracker_item > |
Public Member Functions | |
resource_tracker (const char *name, bool enabled, std::size_t max_resources, const char *res_name, unsigned max_reuse=1) | |
~resource_tracker (void) | |
void | increment (const char *filename, const int line, const res_type &res, unsigned use_count=1) |
void | decrement (const res_type &res, unsigned use_count=1) |
void | push_track (void) |
void | pop_track (void) |
void | clear_all (void) |
Private Member Functions | |
map_type & | get_current_map (void) |
void | abort (void) |
void | dump (void) const |
void | dump_map (const map_type &map, std::ostream &out) const |
unsigned | get_total_use_count (void) const |
Private Attributes | |
const char * | m_name |
const char * | m_res_alias |
bool | m_enabled |
bool | m_is_aborted |
std::size_t | m_max_resources |
std::size_t | m_resource_count |
unsigned | m_max_reuse |
std::forward_list< map_type > | m_tracked_stack |
Definition at line 94 of file resource_tracker.hpp.
using cubbase::resource_tracker< Res >::map_type = std::map<res_type, resource_tracker_item> |
Definition at line 100 of file resource_tracker.hpp.
using cubbase::resource_tracker< Res >::res_type = Res |
Definition at line 99 of file resource_tracker.hpp.
cubbase::resource_tracker< Res >::resource_tracker | ( | const char * | name, |
bool | enabled, | ||
std::size_t | max_resources, | ||
const char * | res_name, | ||
unsigned | max_reuse = 1 |
||
) |
Definition at line 178 of file resource_tracker.hpp.
cubbase::resource_tracker< Res >::~resource_tracker | ( | void | ) |
Definition at line 193 of file resource_tracker.hpp.
References cubbase::resource_tracker< Res >::clear_all(), cubbase::resource_tracker< Res >::m_resource_count, cubbase::resource_tracker< Res >::m_tracked_stack, and cubbase::restrack_assert().
|
private |
Definition at line 345 of file resource_tracker.hpp.
References cubbase::resource_tracker< Res >::m_is_aborted.
Referenced by cubbase::resource_tracker< Res >::increment().
void cubbase::resource_tracker< Res >::clear_all | ( | void | ) |
Definition at line 333 of file resource_tracker.hpp.
References cubbase::resource_tracker< Res >::m_resource_count, cubbase::resource_tracker< Res >::m_tracked_stack, cubbase::resource_tracker< Res >::pop_track(), and cubbase::restrack_assert().
Referenced by cubthread::entry::end_resource_tracks(), and cubbase::resource_tracker< Res >::~resource_tracker().
void cubbase::resource_tracker< Res >::decrement | ( | const res_type & | res, |
unsigned | use_count = 1 |
||
) |
Definition at line 259 of file resource_tracker.hpp.
References cubbase::resource_tracker< Res >::get_current_map(), cubbase::resource_tracker< Res >::m_enabled, cubbase::resource_tracker< Res >::m_is_aborted, cubbase::resource_tracker< Res >::m_resource_count, cubbase::resource_tracker< Res >::m_tracked_stack, and cubbase::restrack_assert().
Referenced by db_private_realloc_debug(), and db_private_realloc_external().
|
private |
Definition at line 352 of file resource_tracker.hpp.
References cubbase::resource_tracker< Res >::dump_map(), cubbase::resource_tracker< Res >::get_total_use_count(), cubbase::resource_tracker< Res >::m_max_resources, cubbase::resource_tracker< Res >::m_name, cubbase::resource_tracker< Res >::m_tracked_stack, and cubbase::restrack_log().
Referenced by cubbase::resource_tracker< Res >::pop_track().
|
private |
Definition at line 373 of file resource_tracker.hpp.
References cubbase::resource_tracker< Res >::m_res_alias.
Referenced by cubbase::resource_tracker< Res >::dump().
|
private |
Definition at line 326 of file resource_tracker.hpp.
References cubbase::resource_tracker< Res >::m_tracked_stack.
Referenced by cubbase::resource_tracker< Res >::decrement(), and cubbase::resource_tracker< Res >::increment().
|
private |
Definition at line 310 of file resource_tracker.hpp.
References cubbase::resource_tracker< Res >::m_tracked_stack.
Referenced by cubbase::resource_tracker< Res >::dump().
void cubbase::resource_tracker< Res >::increment | ( | const char * | filename, |
const int | line, | ||
const res_type & | res, | ||
unsigned | use_count = 1 |
||
) |
Definition at line 204 of file resource_tracker.hpp.
References cubbase::resource_tracker< Res >::abort(), cubbase::resource_tracker< Res >::get_current_map(), cubbase::resource_tracker< Res >::m_enabled, cubbase::resource_tracker< Res >::m_is_aborted, cubbase::resource_tracker< Res >::m_max_resources, cubbase::resource_tracker< Res >::m_max_reuse, cubbase::resource_tracker< Res >::m_resource_count, cubbase::resource_tracker< Res >::m_tracked_stack, and cubbase::restrack_assert().
Referenced by db_private_alloc_debug(), db_private_realloc_debug(), and db_private_realloc_external().
void cubbase::resource_tracker< Res >::pop_track | ( | void | ) |
Definition at line 405 of file resource_tracker.hpp.
References cubbase::resource_tracker< Res >::dump(), cubbase::resource_tracker< Res >::m_enabled, cubbase::resource_tracker< Res >::m_is_aborted, cubbase::resource_tracker< Res >::m_resource_count, cubbase::resource_tracker< Res >::m_tracked_stack, and cubbase::restrack_assert().
Referenced by cubbase::resource_tracker< Res >::clear_all(), and cubthread::entry::pop_resource_tracks().
void cubbase::resource_tracker< Res >::push_track | ( | void | ) |
Definition at line 386 of file resource_tracker.hpp.
References cubbase::resource_tracker< Res >::m_enabled, cubbase::resource_tracker< Res >::m_is_aborted, cubbase::resource_tracker< Res >::m_resource_count, and cubbase::resource_tracker< Res >::m_tracked_stack.
Referenced by cubthread::entry::push_resource_tracks().
|
private |
Definition at line 137 of file resource_tracker.hpp.
Referenced by cubbase::resource_tracker< Res >::decrement(), cubbase::resource_tracker< Res >::increment(), cubbase::resource_tracker< Res >::pop_track(), and cubbase::resource_tracker< Res >::push_track().
|
private |
Definition at line 139 of file resource_tracker.hpp.
Referenced by cubbase::resource_tracker< Res >::abort(), cubbase::resource_tracker< Res >::decrement(), cubbase::resource_tracker< Res >::increment(), cubbase::resource_tracker< Res >::pop_track(), and cubbase::resource_tracker< Res >::push_track().
|
private |
Definition at line 140 of file resource_tracker.hpp.
Referenced by cubbase::resource_tracker< Res >::dump(), and cubbase::resource_tracker< Res >::increment().
|
private |
Definition at line 143 of file resource_tracker.hpp.
Referenced by cubbase::resource_tracker< Res >::increment().
|
private |
Definition at line 134 of file resource_tracker.hpp.
Referenced by cubbase::resource_tracker< Res >::dump().
|
private |
Definition at line 135 of file resource_tracker.hpp.
Referenced by cubbase::resource_tracker< Res >::dump_map().
|
private |
Definition at line 142 of file resource_tracker.hpp.
Referenced by cubbase::resource_tracker< Res >::clear_all(), cubbase::resource_tracker< Res >::decrement(), cubbase::resource_tracker< Res >::increment(), cubbase::resource_tracker< Res >::pop_track(), cubbase::resource_tracker< Res >::push_track(), and cubbase::resource_tracker< Res >::~resource_tracker().
|
private |
Definition at line 148 of file resource_tracker.hpp.
Referenced by cubbase::resource_tracker< Res >::clear_all(), cubbase::resource_tracker< Res >::decrement(), cubbase::resource_tracker< Res >::dump(), cubbase::resource_tracker< Res >::get_current_map(), cubbase::resource_tracker< Res >::get_total_use_count(), cubbase::resource_tracker< Res >::increment(), cubbase::resource_tracker< Res >::pop_track(), cubbase::resource_tracker< Res >::push_track(), and cubbase::resource_tracker< Res >::~resource_tracker().