From 555ca34958a8ed191f34eeb2333e0d7c30e12fce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20van=20Eeden?= Date: Wed, 26 Aug 2015 11:36:56 +0200 Subject: [PATCH] Add lru evict count for the idle loop --- storage/innobase/include/srv0mon.h | 3 ++- storage/innobase/srv/srv0mon.cc | 11 ++++++++--- storage/innobase/srv/srv0srv.cc | 7 +++++-- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/storage/innobase/include/srv0mon.h b/storage/innobase/include/srv0mon.h index 1bd67fd9a176..0a6a9ea3ab3f 100644 --- a/storage/innobase/include/srv0mon.h +++ b/storage/innobase/include/srv0mon.h @@ -380,7 +380,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, + 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, diff --git a/storage/innobase/srv/srv0mon.cc b/storage/innobase/srv/srv0mon.cc index f26a6452e5c3..d78b375a01ba 100644 --- a/storage/innobase/srv/srv0mon.cc +++ b/storage/innobase/srv/srv0mon.cc @@ -1156,10 +1156,15 @@ static monitor_info_t innodb_counter_info[] = MONITOR_NONE, MONITOR_DEFAULT_START, MONITOR_SRV_DICT_LRU_MICROSECOND}, - {"innodb_dict_lru_count", "server", - "Number of tables evicted from DICT LRU list", + {"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}, + 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", diff --git a/storage/innobase/srv/srv0srv.cc b/storage/innobase/srv/srv0srv.cc index e119efa93078..add78c35b890 100644 --- a/storage/innobase/srv/srv0srv.cc +++ b/storage/innobase/srv/srv0srv.cc @@ -2052,7 +2052,7 @@ srv_master_do_active_tasks(void) srv_main_thread_op_info = "enforcing dict cache limit"; n_evicted = srv_master_evict_from_table_cache(50); MONITOR_INC_VALUE( - MONITOR_SRV_DICT_LRU_EVICT_COUNT, n_evicted); + MONITOR_SRV_DICT_LRU_EVICT_COUNT_ACTIVE, n_evicted); MONITOR_INC_TIME_IN_MICRO_SECS( MONITOR_SRV_DICT_LRU_MICROSECOND, counter_time); } @@ -2084,6 +2084,7 @@ srv_master_do_idle_tasks(void) /*==========================*/ { uintmax_t counter_time; + ulint n_evicted = 0; ++srv_main_idle_loops; @@ -2121,7 +2122,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);