diff options
Diffstat (limited to 'storage/innobase/srv/srv0srv.cc')
-rw-r--r-- | storage/innobase/srv/srv0srv.cc | 60 |
1 files changed, 56 insertions, 4 deletions
diff --git a/storage/innobase/srv/srv0srv.cc b/storage/innobase/srv/srv0srv.cc index 758e94efbc7..c754544b136 100644 --- a/storage/innobase/srv/srv0srv.cc +++ b/storage/innobase/srv/srv0srv.cc @@ -284,12 +284,12 @@ in the buffer pool to all database pages in the buffer pool smaller than the following number. But it is not guaranteed that the value stays below that during a time of heavy update/insert activity. */ -UNIV_INTERN ulong srv_max_buf_pool_modified_pct = 75; -UNIV_INTERN ulong srv_max_dirty_pages_pct_lwm = 50; +UNIV_INTERN double srv_max_buf_pool_modified_pct = 75.0; +UNIV_INTERN double srv_max_dirty_pages_pct_lwm = 50.0; /* This is the percentage of log capacity at which adaptive flushing, if enabled, will kick in. */ -UNIV_INTERN ulong srv_adaptive_flushing_lwm = 10; +UNIV_INTERN double srv_adaptive_flushing_lwm = 10.0; /* Number of iterations over which adaptive flushing is averaged. */ UNIV_INTERN ulong srv_flushing_avg_loops = 30; @@ -348,6 +348,14 @@ UNIV_INTERN my_bool srv_stats_persistent = TRUE; UNIV_INTERN unsigned long long srv_stats_persistent_sample_pages = 20; UNIV_INTERN my_bool srv_stats_auto_recalc = TRUE; +/* The number of rows modified before we calculate new statistics (default 0 += current limits) */ +UNIV_INTERN unsigned long long srv_stats_modified_counter = 0; + +/* Enable traditional statistic calculation based on number of configured +pages default true. */ +UNIV_INTERN my_bool srv_stats_sample_traditional = TRUE; + UNIV_INTERN ibool srv_use_doublewrite_buf = TRUE; /** doublewrite buffer is 1MB is size i.e.: it can hold 128 16K pages. @@ -385,6 +393,10 @@ static ulint srv_n_rows_inserted_old = 0; static ulint srv_n_rows_updated_old = 0; static ulint srv_n_rows_deleted_old = 0; static ulint srv_n_rows_read_old = 0; +static ulint srv_n_system_rows_inserted_old = 0; +static ulint srv_n_system_rows_updated_old = 0; +static ulint srv_n_system_rows_deleted_old = 0; +static ulint srv_n_system_rows_read_old = 0; UNIV_INTERN ulint srv_truncated_status_writes = 0; UNIV_INTERN ulint srv_available_undo_logs = 0; @@ -1009,6 +1021,8 @@ srv_init(void) trx_i_s_cache_init(trx_i_s_cache); ut_crc32_init(); + + dict_mem_init(); } /*********************************************************************//** @@ -1126,6 +1140,11 @@ srv_refresh_innodb_monitor_stats(void) srv_n_rows_deleted_old = srv_stats.n_rows_deleted; srv_n_rows_read_old = srv_stats.n_rows_read; + srv_n_system_rows_inserted_old = srv_stats.n_system_rows_inserted; + srv_n_system_rows_updated_old = srv_stats.n_system_rows_updated; + srv_n_system_rows_deleted_old = srv_stats.n_system_rows_deleted; + srv_n_system_rows_read_old = srv_stats.n_system_rows_read; + mutex_exit(&srv_innodb_monitor_mutex); } @@ -1317,11 +1336,33 @@ srv_printf_innodb_monitor( / time_elapsed, ((ulint) srv_stats.n_rows_read - srv_n_rows_read_old) / time_elapsed); - + fprintf(file, + "Number of system rows inserted " ULINTPF + ", updated " ULINTPF ", deleted " ULINTPF + ", read " ULINTPF "\n", + (ulint) srv_stats.n_system_rows_inserted, + (ulint) srv_stats.n_system_rows_updated, + (ulint) srv_stats.n_system_rows_deleted, + (ulint) srv_stats.n_system_rows_read); + fprintf(file, + "%.2f inserts/s, %.2f updates/s," + " %.2f deletes/s, %.2f reads/s\n", + ((ulint) srv_stats.n_system_rows_inserted + - srv_n_system_rows_inserted_old) / time_elapsed, + ((ulint) srv_stats.n_system_rows_updated + - srv_n_system_rows_updated_old) / time_elapsed, + ((ulint) srv_stats.n_system_rows_deleted + - srv_n_system_rows_deleted_old) / time_elapsed, + ((ulint) srv_stats.n_system_rows_read + - srv_n_system_rows_read_old) / time_elapsed); srv_n_rows_inserted_old = srv_stats.n_rows_inserted; srv_n_rows_updated_old = srv_stats.n_rows_updated; srv_n_rows_deleted_old = srv_stats.n_rows_deleted; srv_n_rows_read_old = srv_stats.n_rows_read; + srv_n_system_rows_inserted_old = srv_stats.n_system_rows_inserted; + srv_n_system_rows_updated_old = srv_stats.n_system_rows_updated; + srv_n_system_rows_deleted_old = srv_stats.n_system_rows_deleted; + srv_n_system_rows_read_old = srv_stats.n_system_rows_read; fputs("----------------------------\n" "END OF INNODB MONITOR OUTPUT\n" @@ -1476,6 +1517,17 @@ srv_export_innodb_status(void) export_vars.innodb_rows_deleted = srv_stats.n_rows_deleted; + export_vars.innodb_system_rows_read = srv_stats.n_system_rows_read; + + export_vars.innodb_system_rows_inserted = + srv_stats.n_system_rows_inserted; + + export_vars.innodb_system_rows_updated = + srv_stats.n_system_rows_updated; + + export_vars.innodb_system_rows_deleted = + srv_stats.n_system_rows_deleted; + export_vars.innodb_num_open_files = fil_n_file_opened; export_vars.innodb_truncated_status_writes = |