diff options
author | Oleksandr Byelkin <sanja@mariadb.com> | 2023-05-17 14:58:11 +0200 |
---|---|---|
committer | Oleksandr Byelkin <sanja@mariadb.com> | 2023-05-17 14:58:11 +0200 |
commit | 2543673dd22782f59299fd2e72179601892bd967 (patch) | |
tree | b73641bd88c9d1572203c75da618fce1937518e8 /storage/innobase/srv/srv0mon.cc | |
parent | 4e5b771e980edfdad5c5414aa62c81d409d585a4 (diff) | |
parent | ef911553f442cbb1baaac2af44c38b54fd058c41 (diff) | |
download | mariadb-git-2543673dd22782f59299fd2e72179601892bd967.tar.gz |
Merge branch '11.0' into 11.1bb-11.1-release
Diffstat (limited to 'storage/innobase/srv/srv0mon.cc')
-rw-r--r-- | storage/innobase/srv/srv0mon.cc | 40 |
1 files changed, 34 insertions, 6 deletions
diff --git a/storage/innobase/srv/srv0mon.cc b/storage/innobase/srv/srv0mon.cc index 987d3d185d9..d4761a080b0 100644 --- a/storage/innobase/srv/srv0mon.cc +++ b/storage/innobase/srv/srv0mon.cc @@ -647,16 +647,18 @@ static monitor_info_t innodb_counter_info[] = {"trx_rseg_history_len", "transaction", "Length of the TRX_RSEG_HISTORY list", static_cast<monitor_type_t>( - MONITOR_EXISTING | MONITOR_DISPLAY_CURRENT | MONITOR_DEFAULT_ON), + MONITOR_EXISTING | MONITOR_DISPLAY_CURRENT), MONITOR_DEFAULT_START, MONITOR_RSEG_HISTORY_LEN}, {"trx_undo_slots_used", "transaction", "Number of undo slots used", - MONITOR_NONE, + static_cast<monitor_type_t>( + MONITOR_EXISTING | MONITOR_DISPLAY_CURRENT), MONITOR_DEFAULT_START, MONITOR_NUM_UNDO_SLOT_USED}, {"trx_undo_slots_cached", "transaction", "Number of undo slots cached", - MONITOR_NONE, + static_cast<monitor_type_t>( + MONITOR_EXISTING | MONITOR_DISPLAY_CURRENT | MONITOR_DEFAULT_ON), MONITOR_DEFAULT_START, MONITOR_NUM_UNDO_SLOT_CACHED}, {"trx_rseg_current_size", "transaction", @@ -693,7 +695,8 @@ static monitor_info_t innodb_counter_info[] = {"purge_dml_delay_usec", "purge", "Microseconds DML to be delayed due to purge lagging", - MONITOR_DISPLAY_CURRENT, + static_cast<monitor_type_t>( + MONITOR_EXISTING | MONITOR_DISPLAY_CURRENT), MONITOR_DEFAULT_START, MONITOR_DML_PURGE_DELAY}, {"purge_stop_count", "purge", @@ -1211,6 +1214,24 @@ TPOOL_SUPPRESS_TSAN static ulint srv_mon_get_rseg_size() return size; } +/** @return number of used undo log slots */ +TPOOL_SUPPRESS_TSAN static ulint srv_mon_get_rseg_used() +{ + ulint size= 0; + for (const auto &rseg : trx_sys.rseg_array) + size+= UT_LIST_GET_LEN(rseg.undo_list); + return size; +} + +/** @return number of cached undo log slots */ +TPOOL_SUPPRESS_TSAN static ulint srv_mon_get_rseg_cached() +{ + ulint size= 0; + for (const auto &rseg : trx_sys.rseg_array) + size+= UT_LIST_GET_LEN(rseg.undo_cached); + return size; +} + /****************************************************************//** This function consolidates some existing server counters used by "system status variables". These existing system variables do not have @@ -1448,7 +1469,15 @@ srv_mon_process_existing_counter( case MONITOR_RSEG_CUR_SIZE: value = srv_mon_get_rseg_size(); break; - + case MONITOR_DML_PURGE_DELAY: + value = srv_max_purge_lag_delay; + break; + case MONITOR_NUM_UNDO_SLOT_USED: + value = srv_mon_get_rseg_used(); + break; + case MONITOR_NUM_UNDO_SLOT_CACHED: + value = srv_mon_get_rseg_cached(); + break; case MONITOR_OVLD_N_FILE_OPENED: value = fil_system.n_open; break; @@ -1527,7 +1556,6 @@ srv_mon_process_existing_counter( case MONITOR_TIMEOUT: value = lock_sys.timeouts; break; - default: ut_error; } |