mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 12:02:42 +01:00
Merge pull request #94 from ericherman/evict_table_metric
Evict table metric
This commit is contained in:
commit
3ed384baf0
6 changed files with 40 additions and 4 deletions
|
@ -378,6 +378,8 @@ enum monitor_id_t {
|
|||
MONITOR_SRV_MEM_VALIDATE_MICROSECOND,
|
||||
MONITOR_SRV_PURGE_MICROSECOND,
|
||||
MONITOR_SRV_DICT_LRU_MICROSECOND,
|
||||
MONITOR_SRV_DICT_LRU_EVICT_COUNT_ACTIVE,
|
||||
MONITOR_SRV_DICT_LRU_EVICT_COUNT_IDLE,
|
||||
MONITOR_SRV_CHECKPOINT_MICROSECOND,
|
||||
MONITOR_OVLD_SRV_DBLWR_WRITES,
|
||||
MONITOR_OVLD_SRV_DBLWR_PAGES_WRITTEN,
|
||||
|
|
|
@ -1196,6 +1196,16 @@ static monitor_info_t innodb_counter_info[] =
|
|||
MONITOR_NONE,
|
||||
MONITOR_DEFAULT_START, MONITOR_SRV_DICT_LRU_MICROSECOND},
|
||||
|
||||
{"innodb_dict_lru_count_active", "server",
|
||||
"Number of tables evicted from DICT LRU list in the active loop",
|
||||
MONITOR_NONE,
|
||||
MONITOR_DEFAULT_START, MONITOR_SRV_DICT_LRU_EVICT_COUNT_ACTIVE},
|
||||
|
||||
{"innodb_dict_lru_count_idle", "server",
|
||||
"Number of tables evicted from DICT LRU list in the idle loop",
|
||||
MONITOR_NONE,
|
||||
MONITOR_DEFAULT_START, MONITOR_SRV_DICT_LRU_EVICT_COUNT_IDLE},
|
||||
|
||||
{"innodb_checkpoint_usec", "server",
|
||||
"Time (in microseconds) spent by master thread to do checkpoint",
|
||||
MONITOR_NONE,
|
||||
|
|
|
@ -2274,6 +2274,7 @@ srv_master_do_active_tasks(void)
|
|||
{
|
||||
ib_time_t cur_time = ut_time();
|
||||
ullint counter_time = ut_time_us(NULL);
|
||||
ulint n_evicted = 0;
|
||||
|
||||
/* First do the tasks that we are suppose to do at each
|
||||
invocation of this function. */
|
||||
|
@ -2334,7 +2335,9 @@ srv_master_do_active_tasks(void)
|
|||
|
||||
if (cur_time % SRV_MASTER_DICT_LRU_INTERVAL == 0) {
|
||||
srv_main_thread_op_info = "enforcing dict cache limit";
|
||||
srv_master_evict_from_table_cache(50);
|
||||
n_evicted = srv_master_evict_from_table_cache(50);
|
||||
MONITOR_INC_VALUE(
|
||||
MONITOR_SRV_DICT_LRU_EVICT_COUNT_ACTIVE, n_evicted);
|
||||
MONITOR_INC_TIME_IN_MICRO_SECS(
|
||||
MONITOR_SRV_DICT_LRU_MICROSECOND, counter_time);
|
||||
}
|
||||
|
@ -2366,6 +2369,7 @@ srv_master_do_idle_tasks(void)
|
|||
/*==========================*/
|
||||
{
|
||||
ullint counter_time;
|
||||
ulint n_evicted = 0;
|
||||
|
||||
++srv_main_idle_loops;
|
||||
|
||||
|
@ -2403,7 +2407,9 @@ srv_master_do_idle_tasks(void)
|
|||
}
|
||||
|
||||
srv_main_thread_op_info = "enforcing dict cache limit";
|
||||
srv_master_evict_from_table_cache(100);
|
||||
n_evicted = srv_master_evict_from_table_cache(100);
|
||||
MONITOR_INC_VALUE(
|
||||
MONITOR_SRV_DICT_LRU_EVICT_COUNT_IDLE, n_evicted);
|
||||
MONITOR_INC_TIME_IN_MICRO_SECS(
|
||||
MONITOR_SRV_DICT_LRU_MICROSECOND, counter_time);
|
||||
|
||||
|
|
|
@ -379,6 +379,8 @@ enum monitor_id_t {
|
|||
MONITOR_SRV_MEM_VALIDATE_MICROSECOND,
|
||||
MONITOR_SRV_PURGE_MICROSECOND,
|
||||
MONITOR_SRV_DICT_LRU_MICROSECOND,
|
||||
MONITOR_SRV_DICT_LRU_EVICT_COUNT_ACTIVE,
|
||||
MONITOR_SRV_DICT_LRU_EVICT_COUNT_IDLE,
|
||||
MONITOR_SRV_CHECKPOINT_MICROSECOND,
|
||||
MONITOR_OVLD_SRV_DBLWR_WRITES,
|
||||
MONITOR_OVLD_SRV_DBLWR_PAGES_WRITTEN,
|
||||
|
|
|
@ -1196,6 +1196,16 @@ static monitor_info_t innodb_counter_info[] =
|
|||
MONITOR_NONE,
|
||||
MONITOR_DEFAULT_START, MONITOR_SRV_DICT_LRU_MICROSECOND},
|
||||
|
||||
{"innodb_dict_lru_count_active", "server",
|
||||
"Number of tables evicted from DICT LRU list in the active loop",
|
||||
MONITOR_NONE,
|
||||
MONITOR_DEFAULT_START, MONITOR_SRV_DICT_LRU_EVICT_COUNT_ACTIVE},
|
||||
|
||||
{"innodb_dict_lru_count_idle", "server",
|
||||
"Number of tables evicted from DICT LRU list in the idle loop",
|
||||
MONITOR_NONE,
|
||||
MONITOR_DEFAULT_START, MONITOR_SRV_DICT_LRU_EVICT_COUNT_IDLE},
|
||||
|
||||
{"innodb_checkpoint_usec", "server",
|
||||
"Time (in microseconds) spent by master thread to do checkpoint",
|
||||
MONITOR_NONE,
|
||||
|
|
|
@ -2881,6 +2881,7 @@ srv_master_do_active_tasks(void)
|
|||
{
|
||||
ib_time_t cur_time = ut_time();
|
||||
ullint counter_time = ut_time_us(NULL);
|
||||
ulint n_evicted = 0;
|
||||
|
||||
/* First do the tasks that we are suppose to do at each
|
||||
invocation of this function. */
|
||||
|
@ -2941,7 +2942,9 @@ srv_master_do_active_tasks(void)
|
|||
|
||||
if (cur_time % SRV_MASTER_DICT_LRU_INTERVAL == 0) {
|
||||
srv_main_thread_op_info = "enforcing dict cache limit";
|
||||
srv_master_evict_from_table_cache(50);
|
||||
n_evicted = srv_master_evict_from_table_cache(50);
|
||||
MONITOR_INC_VALUE(
|
||||
MONITOR_SRV_DICT_LRU_EVICT_COUNT_ACTIVE, n_evicted);
|
||||
MONITOR_INC_TIME_IN_MICRO_SECS(
|
||||
MONITOR_SRV_DICT_LRU_MICROSECOND, counter_time);
|
||||
}
|
||||
|
@ -2973,6 +2976,7 @@ srv_master_do_idle_tasks(void)
|
|||
/*==========================*/
|
||||
{
|
||||
ullint counter_time;
|
||||
ulint n_evicted = 0;
|
||||
|
||||
++srv_main_idle_loops;
|
||||
|
||||
|
@ -3010,7 +3014,9 @@ srv_master_do_idle_tasks(void)
|
|||
}
|
||||
|
||||
srv_main_thread_op_info = "enforcing dict cache limit";
|
||||
srv_master_evict_from_table_cache(100);
|
||||
n_evicted = srv_master_evict_from_table_cache(100);
|
||||
MONITOR_INC_VALUE(
|
||||
MONITOR_SRV_DICT_LRU_EVICT_COUNT_IDLE, n_evicted);
|
||||
MONITOR_INC_TIME_IN_MICRO_SECS(
|
||||
MONITOR_SRV_DICT_LRU_MICROSECOND, counter_time);
|
||||
|
||||
|
|
Loading…
Reference in a new issue