|
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().