From: Christopher Powers Date: November 2 2011 8:44pm Subject: bzr push into mysql-trunk-wl5461 branch (chris.powers:3422 to 3423) WL#5461 List-Archive: http://lists.mysql.com/commits/141706 Message-Id: <201111022044.pA2KidgC014677@acsmt357.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 3423 Christopher Powers 2011-11-02 WL#5461 PERFORMANCE_SCHEMA MY.CNF Default Setup Preliminary implementation for SETUP_CONSUMERS defaults. modified: sql/set_var.cc sql/set_var.h sql/sys_vars.cc sql/sys_vars.h storage/perfschema/pfs_server.cc storage/perfschema/pfs_server.h 3422 Christopher Powers 2011-11-02 [merge] downmerge with mysql-trunk removed: mysql-test/suite/rpl/r/rpl_mixed_crash_safe.result.THIS mysql-test/suite/rpl/t/rpl_mixed_crash_safe.test.THIS storage/perfschema/table_file_summary.cc storage/perfschema/table_file_summary.h added: include/mysql_com_server.h mysql-test/suite/perfschema/r/nesting.result mysql-test/suite/perfschema/t/nesting.test mysql-test/suite/rpl/r/rpl_rotate_purge_deadlock.result mysql-test/suite/rpl/t/rpl_rotate_purge_deadlock-master.opt mysql-test/suite/rpl/t/rpl_rotate_purge_deadlock.test storage/perfschema/table_file_summary_by_event_name.cc storage/perfschema/table_file_summary_by_event_name.h storage/perfschema/table_file_summary_by_instance.cc storage/perfschema/table_file_summary_by_instance.h modified: include/CMakeLists.txt include/mysql.h.pp include/mysql/psi/mysql_idle.h include/mysql/psi/psi.h include/mysql_com.h mysql-test/CMakeLists.txt mysql-test/collections/default.experimental mysql-test/extra/rpl_tests/rpl_parallel_load.test mysql-test/include/index_merge1.inc mysql-test/include/index_merge2.inc mysql-test/include/index_merge_ror.inc mysql-test/include/subquery_mat.inc mysql-test/include/subquery_sj.inc mysql-test/r/compare.result mysql-test/r/derived.result mysql-test/r/func_rollback.result mysql-test/r/func_time.result mysql-test/r/index_merge_innodb.result mysql-test/r/mysqld--help-notwin.result mysql-test/r/mysqld--help-win.result mysql-test/r/optimizer_switch.result mysql-test/r/plugin.result mysql-test/r/query_cache.result mysql-test/r/signal.result mysql-test/r/sp-error.result mysql-test/r/sp.result mysql-test/r/subquery_all.result mysql-test/r/subquery_all_bka.result mysql-test/r/subquery_all_bka_nixbnl.result mysql-test/r/subquery_mat.result mysql-test/r/subquery_mat_all.result mysql-test/r/subquery_sj_all.result mysql-test/r/subquery_sj_all_bka.result mysql-test/r/subquery_sj_all_bka_nixbnl.result mysql-test/r/subquery_sj_all_bkaunique.result mysql-test/r/subquery_sj_dupsweed.result mysql-test/r/subquery_sj_dupsweed_bka.result mysql-test/r/subquery_sj_dupsweed_bka_nixbnl.result mysql-test/r/subquery_sj_dupsweed_bkaunique.result mysql-test/r/subquery_sj_firstmatch.result mysql-test/r/subquery_sj_firstmatch_bka.result mysql-test/r/subquery_sj_firstmatch_bka_nixbnl.result mysql-test/r/subquery_sj_firstmatch_bkaunique.result mysql-test/r/subquery_sj_loosescan.result mysql-test/r/subquery_sj_loosescan_bka.result mysql-test/r/subquery_sj_loosescan_bka_nixbnl.result mysql-test/r/subquery_sj_loosescan_bkaunique.result mysql-test/r/subquery_sj_mat.result mysql-test/r/subquery_sj_mat_bka.result mysql-test/r/subquery_sj_mat_bka_nixbnl.result mysql-test/r/subquery_sj_mat_bkaunique.result mysql-test/r/subquery_sj_mat_nosj.result mysql-test/r/subquery_sj_none.result mysql-test/r/subquery_sj_none_bka.result mysql-test/r/subquery_sj_none_bka_nixbnl.result mysql-test/r/subquery_sj_none_bkaunique.result mysql-test/r/user_var.result mysql-test/r/view_grant.result mysql-test/suite/funcs_1/r/storedproc.result mysql-test/suite/opt_trace/r/bugs_no_prot_all.result mysql-test/suite/opt_trace/r/bugs_ps_prot_all.result mysql-test/suite/opt_trace/r/general_no_prot_all.result mysql-test/suite/opt_trace/r/general_ps_prot_all.result mysql-test/suite/opt_trace/r/range_no_prot.result mysql-test/suite/opt_trace/r/range_ps_prot.result mysql-test/suite/perfschema/include/event_aggregate_setup.inc mysql-test/suite/perfschema/r/event_aggregate.result mysql-test/suite/perfschema/r/event_aggregate_no_a.result mysql-test/suite/perfschema/r/event_aggregate_no_a_no_h.result mysql-test/suite/perfschema/r/event_aggregate_no_a_no_u.result mysql-test/suite/perfschema/r/event_aggregate_no_a_no_u_no_h.result mysql-test/suite/perfschema/r/event_aggregate_no_h.result mysql-test/suite/perfschema/r/event_aggregate_no_u.result mysql-test/suite/perfschema/r/event_aggregate_no_u_no_h.result mysql-test/suite/perfschema/r/func_file_io.result mysql-test/suite/perfschema/r/ortho_iter.result mysql-test/suite/perfschema/r/pfs_upgrade.result mysql-test/suite/perfschema/r/privilege_table_io.result mysql-test/suite/perfschema/r/relaylog.result mysql-test/suite/perfschema/r/schema.result mysql-test/suite/perfschema/r/start_server_innodb.result mysql-test/suite/perfschema/r/start_server_no_account.result mysql-test/suite/perfschema/r/start_server_no_cond_class.result mysql-test/suite/perfschema/r/start_server_no_cond_inst.result mysql-test/suite/perfschema/r/start_server_no_file_class.result mysql-test/suite/perfschema/r/start_server_no_file_inst.result mysql-test/suite/perfschema/r/start_server_no_host.result mysql-test/suite/perfschema/r/start_server_no_mutex_class.result mysql-test/suite/perfschema/r/start_server_no_mutex_inst.result mysql-test/suite/perfschema/r/start_server_no_rwlock_class.result mysql-test/suite/perfschema/r/start_server_no_rwlock_inst.result mysql-test/suite/perfschema/r/start_server_no_setup_actors.result mysql-test/suite/perfschema/r/start_server_no_setup_objects.result mysql-test/suite/perfschema/r/start_server_no_socket_class.result mysql-test/suite/perfschema/r/start_server_no_socket_inst.result mysql-test/suite/perfschema/r/start_server_no_stage_class.result mysql-test/suite/perfschema/r/start_server_no_stages_history.result mysql-test/suite/perfschema/r/start_server_no_stages_history_long.result mysql-test/suite/perfschema/r/start_server_no_statements_history.result mysql-test/suite/perfschema/r/start_server_no_statements_history_long.result mysql-test/suite/perfschema/r/start_server_no_table_hdl.result mysql-test/suite/perfschema/r/start_server_no_table_inst.result mysql-test/suite/perfschema/r/start_server_no_thread_class.result mysql-test/suite/perfschema/r/start_server_no_thread_inst.result mysql-test/suite/perfschema/r/start_server_no_user.result mysql-test/suite/perfschema/r/start_server_no_waits_history.result mysql-test/suite/perfschema/r/start_server_no_waits_history_long.result mysql-test/suite/perfschema/r/start_server_nothing.result mysql-test/suite/perfschema/r/start_server_off.result mysql-test/suite/perfschema/r/start_server_on.result mysql-test/suite/perfschema/r/table_aggregate_global_2u_2t.result mysql-test/suite/perfschema/r/table_aggregate_global_2u_3t.result mysql-test/suite/perfschema/r/table_aggregate_global_4u_2t.result mysql-test/suite/perfschema/r/table_aggregate_global_4u_3t.result mysql-test/suite/perfschema/r/table_aggregate_hist_2u_2t.result mysql-test/suite/perfschema/r/table_aggregate_hist_2u_3t.result mysql-test/suite/perfschema/r/table_aggregate_hist_4u_2t.result mysql-test/suite/perfschema/r/table_aggregate_hist_4u_3t.result mysql-test/suite/perfschema/r/table_aggregate_off.result mysql-test/suite/perfschema/r/table_aggregate_thread_2u_2t.result mysql-test/suite/perfschema/r/table_aggregate_thread_2u_3t.result mysql-test/suite/perfschema/r/table_aggregate_thread_4u_2t.result mysql-test/suite/perfschema/r/table_aggregate_thread_4u_3t.result mysql-test/suite/perfschema/r/table_io_aggregate_global_2u_2t.result mysql-test/suite/perfschema/r/table_io_aggregate_global_2u_3t.result mysql-test/suite/perfschema/r/table_io_aggregate_global_4u_2t.result mysql-test/suite/perfschema/r/table_io_aggregate_global_4u_3t.result mysql-test/suite/perfschema/r/table_io_aggregate_hist_2u_2t.result mysql-test/suite/perfschema/r/table_io_aggregate_hist_2u_3t.result mysql-test/suite/perfschema/r/table_io_aggregate_hist_4u_2t.result mysql-test/suite/perfschema/r/table_io_aggregate_hist_4u_3t.result mysql-test/suite/perfschema/r/table_io_aggregate_thread_2u_2t.result mysql-test/suite/perfschema/r/table_io_aggregate_thread_2u_3t.result mysql-test/suite/perfschema/r/table_io_aggregate_thread_4u_2t.result mysql-test/suite/perfschema/r/table_io_aggregate_thread_4u_3t.result mysql-test/suite/perfschema/r/table_lock_aggregate_global_2u_2t.result mysql-test/suite/perfschema/r/table_lock_aggregate_global_2u_3t.result mysql-test/suite/perfschema/r/table_lock_aggregate_global_4u_2t.result mysql-test/suite/perfschema/r/table_lock_aggregate_global_4u_3t.result mysql-test/suite/perfschema/r/table_lock_aggregate_hist_2u_2t.result mysql-test/suite/perfschema/r/table_lock_aggregate_hist_2u_3t.result mysql-test/suite/perfschema/r/table_lock_aggregate_hist_4u_2t.result mysql-test/suite/perfschema/r/table_lock_aggregate_hist_4u_3t.result mysql-test/suite/perfschema/r/table_lock_aggregate_thread_2u_2t.result mysql-test/suite/perfschema/r/table_lock_aggregate_thread_2u_3t.result mysql-test/suite/perfschema/r/table_lock_aggregate_thread_4u_2t.result mysql-test/suite/perfschema/r/table_lock_aggregate_thread_4u_3t.result mysql-test/suite/perfschema/r/table_schema.result mysql-test/suite/rpl/r/rpl_alter_repository.result mysql-test/suite/rpl/r/rpl_checksum.result mysql-test/suite/rpl/r/rpl_log_pos.result mysql-test/suite/rpl/r/rpl_manual_change_index_file.result mysql-test/suite/rpl/t/rpl_alter_repository.test mysql-test/suite/rpl/t/rpl_checksum.test mysql-test/suite/rpl/t/rpl_log_pos.test mysql-test/suite/rpl/t/rpl_manual_change_index_file.test mysql-test/suite/rpl/t/rpl_packet.test mysql-test/suite/rpl/t/rpl_row_event_max_size.test mysql-test/suite/sys_vars/r/sort_buffer_size_basic_32.result* mysql-test/suite/sys_vars/r/sort_buffer_size_basic_64.result mysql-test/t/compare.test mysql-test/t/derived.test mysql-test/t/func_time.test mysql-test/t/index_merge_innodb.test mysql-test/t/plugin.test mysql-test/t/query_cache.test mysql-test/t/signal.test mysql-test/t/sp-error.test mysql-test/t/user_var.test scripts/mysql_system_tables.sql sql-common/my_time.c sql/binlog.cc sql/binlog.h sql/event_db_repository.cc sql/events.cc sql/item_cmpfunc.cc sql/log.cc sql/log.h sql/mysqld.cc sql/mysqld.h sql/net_serv.cc sql/opt_range.cc sql/records.cc sql/records.h sql/rpl_master.cc sql/rpl_slave.cc sql/sp_head.cc sql/sp_rcontext.cc sql/sql_acl.cc sql/sql_class.cc sql/sql_class.h sql/sql_const.h sql/sql_delete.cc sql/sql_help.cc sql/sql_join_cache.cc sql/sql_parse.cc sql/sql_plugin.cc sql/sql_reload.cc sql/sql_select.cc sql/sql_select.h sql/sql_servers.cc sql/sql_table.cc sql/sql_udf.cc sql/sql_update.cc sql/sys_vars.cc storage/innobase/buf/buf0buf.c storage/innobase/dict/dict0dict.c storage/innobase/fil/fil0fil.c storage/innobase/fsp/fsp0fsp.c storage/innobase/handler/ha_innodb.cc storage/innobase/include/buf0buf.h storage/innobase/include/fil0fil.h storage/innobase/include/fsp0fsp.h storage/innobase/include/sync0rw.ic storage/innobase/lock/lock0lock.c storage/innobase/row/row0mysql.c storage/innobase/row/row0umod.c storage/innobase/srv/srv0start.c storage/perfschema/CMakeLists.txt storage/perfschema/pfs.cc storage/perfschema/pfs_engine_table.cc storage/perfschema/pfs_events.h storage/perfschema/pfs_instr.cc storage/perfschema/pfs_instr.h storage/perfschema/pfs_stat.h storage/perfschema/pfs_visitor.cc storage/perfschema/pfs_visitor.h storage/perfschema/table_events_stages.cc storage/perfschema/table_events_stages.h storage/perfschema/table_events_statements.cc storage/perfschema/table_events_statements.h storage/perfschema/table_events_waits.cc storage/perfschema/table_events_waits.h storage/perfschema/table_helper.h storage/perfschema/table_socket_summary_by_instance.cc === modified file 'sql/set_var.cc' --- a/sql/set_var.cc 2011-08-17 14:07:07 +0000 +++ b/sql/set_var.cc 2011-11-02 20:43:37 +0000 @@ -489,6 +489,10 @@ SHOW_VAR* enumerate_sys_vars(THD *thd, b if (type == OPT_GLOBAL && var->check_type(type)) continue; + /* don't show non-visible variables */ + if (var->not_visible()) + continue; + show->name= var->name.str; show->value= (char*) var; show->type= SHOW_SYS; === modified file 'sql/set_var.h' --- a/sql/set_var.h 2011-08-17 14:07:07 +0000 +++ b/sql/set_var.h 2011-11-02 20:43:37 +0000 @@ -55,7 +55,7 @@ public: sys_var *next; LEX_CSTRING name; enum flag_enum { GLOBAL, SESSION, ONLY_SESSION, SCOPE_MASK=1023, - READONLY=1024, ALLOCATED=2048 }; + READONLY=1024, ALLOCATED=2048, INVISIBLE=4096 }; static const int PARSE_EARLY= 1; static const int PARSE_NORMAL= 2; /** @@ -109,6 +109,7 @@ public: int scope() const { return flags & SCOPE_MASK; } const CHARSET_INFO *charset(THD *thd); bool is_readonly() const { return flags & READONLY; } + bool not_visible() const { return flags & INVISIBLE; } /** the following is only true for keycache variables, that support the syntax @@keycache_name.variable_name === modified file 'sql/sys_vars.cc' --- a/sql/sys_vars.cc 2011-11-01 16:33:58 +0000 +++ b/sql/sys_vars.cc 2011-11-02 20:43:37 +0000 @@ -85,6 +85,83 @@ static Sys_var_mybool Sys_pfs_enabled( CMD_LINE(OPT_ARG), DEFAULT(FALSE), PFS_TRAILING_PROPERTIES); +static Sys_var_mybool Sys_pfs_consumer_events_stages_current( + "performance_schema_consumer_events_stages_current", + "Enable the events_stages_current consumer.", + READ_ONLY NOT_VISIBLE GLOBAL_VAR(pfs_param.m_consumer_events_stages_current_enabled), + CMD_LINE(OPT_ARG), DEFAULT(TRUE), + PFS_TRAILING_PROPERTIES); + +static Sys_var_mybool Sys_pfs_consumer_events_stages_history( + "performance_schema_consumer_events_stages_history", + "Enable the events_stages_history consumer.", + READ_ONLY NOT_VISIBLE GLOBAL_VAR(pfs_param.m_consumer_events_stages_history_enabled), + CMD_LINE(OPT_ARG), DEFAULT(TRUE), + PFS_TRAILING_PROPERTIES); + +static Sys_var_mybool Sys_pfs_consumer_events_stages_history_long( + "performance_schema_consumer_events_stages_history_long", + "Enable the events_stages_history_long consumer.", + READ_ONLY NOT_VISIBLE GLOBAL_VAR(pfs_param.m_consumer_events_stages_history_long_enabled), + CMD_LINE(OPT_ARG), DEFAULT(TRUE), + PFS_TRAILING_PROPERTIES); + +static Sys_var_mybool Sys_pfs_consumer_events_statements_current( + "performance_schema_consumer_events_statements_current", + "Enable the events_statements_current consumer.", + READ_ONLY NOT_VISIBLE GLOBAL_VAR(pfs_param.m_consumer_events_statements_current_enabled), + CMD_LINE(OPT_ARG), DEFAULT(TRUE), + PFS_TRAILING_PROPERTIES); + +static Sys_var_mybool Sys_pfs_consumer_events_statements_history( + "performance_schema_consumer_events_statements_history", + "Enable the events_statements_history consumer.", + READ_ONLY NOT_VISIBLE GLOBAL_VAR(pfs_param.m_consumer_events_statements_history_enabled), + CMD_LINE(OPT_ARG), DEFAULT(TRUE), + PFS_TRAILING_PROPERTIES); + +static Sys_var_mybool Sys_pfs_consumer_events_statements_history_long( + "performance_schema_consumer_events_statements_history_long", + "Enable the events_statements_history_long consumer.", + READ_ONLY NOT_VISIBLE GLOBAL_VAR(pfs_param.m_consumer_events_statements_history_long_enabled), + CMD_LINE(OPT_ARG), DEFAULT(TRUE), + PFS_TRAILING_PROPERTIES); + +static Sys_var_mybool Sys_pfs_consumer_events_waits_current( + "performance_schema_consumer_events_waits_current", + "Enable the events_waits_current consumer.", + READ_ONLY NOT_VISIBLE GLOBAL_VAR(pfs_param.m_consumer_events_waits_current_enabled), + CMD_LINE(OPT_ARG), DEFAULT(TRUE), + PFS_TRAILING_PROPERTIES); + +static Sys_var_mybool Sys_pfs_consumer_events_waits_history( + "performance_schema_consumer_events_waits_history", + "Enable the events_waits_history consumer.", + READ_ONLY NOT_VISIBLE GLOBAL_VAR(pfs_param.m_consumer_events_waits_history_enabled), + CMD_LINE(OPT_ARG), DEFAULT(TRUE), + PFS_TRAILING_PROPERTIES); + +static Sys_var_mybool Sys_pfs_consumer_events_waits_history_long( + "performance_schema_consumer_events_waits_history_long", + "Enable the events_waits_history_long consumer.", + READ_ONLY NOT_VISIBLE GLOBAL_VAR(pfs_param.m_consumer_events_waits_history_long_enabled), + CMD_LINE(OPT_ARG), DEFAULT(TRUE), + PFS_TRAILING_PROPERTIES); + +static Sys_var_mybool Sys_pfs_consumer_global_instrumentation( + "performance_schema_consumer_global_instrumentation", + "Enable the global_instrumentation consumer.", + READ_ONLY NOT_VISIBLE GLOBAL_VAR(pfs_param.m_consumer_global_instrumentation_enabled), + CMD_LINE(OPT_ARG), DEFAULT(TRUE), + PFS_TRAILING_PROPERTIES); + +static Sys_var_mybool Sys_pfs_consumer_thread_instrumentation( + "performance_schema_consumer_thread_instrumentation", + "Enable the thread_instrumentation consumer.", + READ_ONLY NOT_VISIBLE GLOBAL_VAR(pfs_param.m_consumer_thread_instrumentation_enabled), + CMD_LINE(OPT_ARG), DEFAULT(TRUE), + PFS_TRAILING_PROPERTIES); + static Sys_var_ulong Sys_pfs_events_waits_history_long_size( "performance_schema_events_waits_history_long_size", "Number of rows in EVENTS_WAITS_HISTORY_LONG.", === modified file 'sql/sys_vars.h' --- a/sql/sys_vars.h 2011-07-19 15:11:15 +0000 +++ b/sql/sys_vars.h 2011-11-02 20:43:37 +0000 @@ -51,6 +51,7 @@ #define ON_CHECK(X) X #define ON_UPDATE(X) X #define READ_ONLY sys_var::READONLY+ +#define NOT_VISIBLE sys_var::INVISIBLE+ //cwp // this means that Sys_var_charptr initial value was malloc()ed #define PREALLOCATED sys_var::ALLOCATED+ /* === modified file 'storage/perfschema/pfs_server.cc' --- a/storage/perfschema/pfs_server.cc 2011-08-11 03:11:58 +0000 +++ b/storage/perfschema/pfs_server.cc 2011-11-02 20:43:37 +0000 @@ -106,6 +106,21 @@ initialize_performance_schema(const PFS_ } pfs_initialized= true; + + /** Default values for SETUP_CONSUMERS */ + flag_events_stages_current= param->m_consumer_events_stages_current_enabled; + flag_events_stages_current= param->m_consumer_events_stages_current_enabled; + flag_events_stages_history= param->m_consumer_events_stages_history_enabled; + flag_events_stages_history_long= param->m_consumer_events_stages_history_long_enabled; + flag_events_statements_current= param->m_consumer_events_statements_current_enabled; + flag_events_statements_history= param->m_consumer_events_statements_history_enabled; + flag_events_statements_history_long= param->m_consumer_events_statements_history_long_enabled; + flag_events_waits_current= param->m_consumer_events_waits_current_enabled; + flag_events_waits_history= param->m_consumer_events_waits_history_enabled; + flag_events_waits_history_long= param->m_consumer_events_waits_history_long_enabled; + flag_global_instrumentation= param->m_consumer_global_instrumentation_enabled; + flag_thread_instrumentation= param->m_consumer_thread_instrumentation_enabled; + install_default_setup(&PFS_bootstrap); return &PFS_bootstrap; } === modified file 'storage/perfschema/pfs_server.h' --- a/storage/perfschema/pfs_server.h 2011-08-11 03:11:58 +0000 +++ b/storage/perfschema/pfs_server.h 2011-11-02 20:43:37 +0000 @@ -110,7 +110,19 @@ struct PFS_global_param { /** True if the performance schema is enabled. */ - bool m_enabled; + bool m_enabled; + /** Default values for SETUP_CONSUMERS. */ + bool m_consumer_events_stages_current_enabled; + bool m_consumer_events_stages_history_enabled; + bool m_consumer_events_stages_history_long_enabled; + bool m_consumer_events_statements_current_enabled; + bool m_consumer_events_statements_history_enabled; + bool m_consumer_events_statements_history_long_enabled; + bool m_consumer_events_waits_current_enabled; + bool m_consumer_events_waits_history_enabled; + bool m_consumer_events_waits_history_long_enabled; + bool m_consumer_global_instrumentation_enabled; + bool m_consumer_thread_instrumentation_enabled; /** Maximum number of instrumented mutex classes. @sa mutex_class_lost. No bundle (reason: useless for push emails).