From: Christopher Powers Date: February 12 2011 12:23am Subject: bzr push into mysql-trunk-wl5379 branch (chris.powers:3227 to 3229) WL#4896 List-Archive: http://lists.mysql.com/commits/131150 Message-Id: <20110212002337.29E3D1DB0333@xeno.mysql.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============2040549680299242205==" --===============2040549680299242205== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline 3229 cpowers 2011-02-11 WL#4896 "Performance Schema Net IO" - Corrected assignment of object_instance_begin field - Added VIEW_SOCKET to events_waits_summary_by_thread_by_event_name - Added VIEW_SOCKET to events_waits_summary_global_by_event_name - Fixed conditions to invoke set_socket_info() in mysql_socket.h modified: include/mysql/psi/mysql_socket.h storage/perfschema/pfs.cc storage/perfschema/pfs_instr.cc storage/perfschema/table_ews_by_thread_by_event_name.cc storage/perfschema/table_ews_global_by_event_name.cc storage/perfschema/table_ews_global_by_event_name.h storage/perfschema/table_socket_instances.cc 3228 cpowers 2011-02-11 WL#4896 "Performance Schema Net IO" - Adjusted socket_instances table definition - Fixed copy/paste bug in setup_instruments modified: scripts/mysql_system_tables.sql storage/perfschema/table_setup_instruments.cc 3227 cpowers 2011-02-08 WL#4896 "Performance Schema Net IO" - Fixed problem with socket_summary_by_instance definition. - Fixed runtime column type warnings. modified: scripts/mysql_system_tables.sql storage/perfschema/pfs_engine_table.cc storage/perfschema/table_socket_instances.cc storage/perfschema/table_socket_summary_by_instance.cc === modified file 'include/mysql/psi/mysql_socket.h' --- a/include/mysql/psi/mysql_socket.h 2011-02-04 22:00:44 +0000 +++ b/include/mysql/psi/mysql_socket.h 2011-02-12 00:22:15 +0000 @@ -358,7 +358,7 @@ inline_mysql_socket_socket { MYSQL_SOCKET mysql_socket = {0, NULL}; #ifdef HAVE_PSI_INTERFACE - mysql_socket.m_psi = PSI_server ? PSI_server->init_socket(key, &mysql_socket.fd) + mysql_socket.m_psi = PSI_server ? PSI_server->init_socket(key, NULL) //TBD &mysql_socket.fd) : NULL; #endif mysql_socket.fd= socket(domain, type, protocol); @@ -731,7 +731,7 @@ inline_mysql_socket_accept struct PSI_socket_locker *locker= NULL; PSI_socket_locker_state state; - socket_accept.m_psi = PSI_server ? PSI_server->init_socket(key, &socket_accept.fd) + socket_accept.m_psi = PSI_server ? PSI_server->init_socket(key, NULL)//TBD: &socket_accept.fd) : NULL; if (likely(PSI_server != NULL && socket_accept.m_psi != NULL)) { @@ -745,7 +745,7 @@ inline_mysql_socket_accept #ifdef HAVE_PSI_INTERFACE /** Set socket address info */ if (likely(PSI_server != NULL && socket_accept.m_psi != NULL - && socket_accept.fd > -1)) + && socket_accept.fd != -1)) PSI_server->set_socket_info(socket_accept.m_psi, socket_accept.fd, addr); if (likely(locker != NULL)) @@ -770,7 +770,7 @@ inline_mysql_socket_accept struct PSI_socket_locker *locker= NULL; PSI_socket_locker_state state; - socket_accept.m_psi = PSI_server ? PSI_server->init_socket(key, &socket_accept.fd) + socket_accept.m_psi = PSI_server ? PSI_server->init_socket(key, NULL)// &socket_accept.fd) // TBD: check this : NULL; if (likely(PSI_server != NULL && socket_accept.m_psi != NULL)) { @@ -783,7 +783,7 @@ inline_mysql_socket_accept #ifdef HAVE_PSI_INTERFACE /** Set socket address info */ if (likely(PSI_server != NULL && socket_accept.m_psi != NULL - && socket_accept.fd > -1)) + && socket_accept.fd != -1)) PSI_server->set_socket_info(socket_accept.m_psi, socket_accept.fd, addr); if (likely(locker != NULL)) === modified file 'scripts/mysql_system_tables.sql' --- a/scripts/mysql_system_tables.sql 2011-02-08 23:01:39 +0000 +++ b/scripts/mysql_system_tables.sql 2011-02-11 21:01:56 +0000 @@ -383,10 +383,10 @@ DROP PREPARE stmt; SET @cmd="CREATE TABLE performance_schema.socket_instances(" "EVENT_NAME VARCHAR(128) not null," "OBJECT_INSTANCE_BEGIN BIGINT unsigned not null," - "THREAD_ID INTEGER," - "SOCKET_ID INTEGER," - "IP VARCHAR(64)," - "PORT INTEGER" + "THREAD_ID INTEGER not null," + "SOCKET_ID INTEGER not null," + "IP VARCHAR(64) not null," + "PORT INTEGER not null" ")ENGINE=PERFORMANCE_SCHEMA;"; SET @str = IF(@have_pfs = 1, @cmd, 'SET @dummy = 0'); @@ -399,9 +399,9 @@ DROP PREPARE stmt; -- SET @cmd="CREATE TABLE performance_schema.socket_summary_by_instance(" - "EVENT_NAME VARCHAR(128)," + "EVENT_NAME VARCHAR(128) not null," "OBJECT_INSTANCE_BEGIN BIGINT unsigned not null," - "OBJECT_NAME VARCHAR(64)," + "OBJECT_NAME VARCHAR(64) default '' not null," "COUNT_STAR BIGINT unsigned not null," "SUM_TIMER_WAIT BIGINT unsigned not null," "MIN_TIMER_WAIT BIGINT unsigned not null," === modified file 'storage/perfschema/pfs.cc' --- a/storage/perfschema/pfs.cc 2011-02-07 22:17:15 +0000 +++ b/storage/perfschema/pfs.cc 2011-02-12 00:22:15 +0000 @@ -2577,7 +2577,7 @@ get_thread_socket_locker_v1(PSI_socket_l wait->m_class= klass; wait->m_timer_start= 0; wait->m_timer_end= 0; - wait->m_object_instance_addr= pfs_socket; + wait->m_object_instance_addr= pfs_socket->m_identity; // wait->m_object_name= pfs_socket->m_ip; // TBD: Where is object_name defined? // wait->m_object_name_length= pfs_socket->m_ip_length; wait->m_event_id= pfs_thread->m_event_id++; === modified file 'storage/perfschema/pfs_instr.cc' --- a/storage/perfschema/pfs_instr.cc 2011-02-07 21:34:45 +0000 +++ b/storage/perfschema/pfs_instr.cc 2011-02-12 00:22:15 +0000 @@ -1201,7 +1201,7 @@ PFS_socket* create_socket(PFS_socket_cla { if (pfs->m_lock.free_to_dirty()) { - pfs->m_identity= identity; + pfs->m_identity= (identity == NULL ? pfs : identity); // TBD: fix this pfs->m_class= klass; pfs->m_wait_stat.reset(); pfs->m_socket_stat.reset(); === modified file 'storage/perfschema/table_ews_by_thread_by_event_name.cc' --- a/storage/perfschema/table_ews_by_thread_by_event_name.cc 2011-01-07 16:20:19 +0000 +++ b/storage/perfschema/table_ews_by_thread_by_event_name.cc 2011-02-12 00:22:15 +0000 @@ -120,6 +120,7 @@ int table_ews_by_thread_by_event_name::r PFS_cond_class *cond_class; PFS_file_class *file_class; PFS_instr_class *table_class; + PFS_socket_class *socket_class; for (m_pos.set_at(&m_next_pos); m_pos.has_more_view(); @@ -227,6 +228,26 @@ int table_ews_by_thread_by_event_name::r } } while (table_class != NULL); break; + case pos_ews_by_thread_by_event_name::VIEW_SOCKET: + do + { + socket_class= find_socket_class(m_pos.m_index_2); + if (socket_class) + { + for ( ; m_pos.has_more_thread(); m_pos.next_thread()) + { + thread= &thread_array[m_pos.m_index_3]; + if (thread->m_lock.is_populated()) + { + make_row(thread, socket_class); + m_next_pos.set_after(&m_pos); + return 0; + } + } + m_pos.next_instrument(); + } + } while (socket_class != NULL); + break; default: break; } @@ -244,6 +265,7 @@ table_ews_by_thread_by_event_name::rnd_p PFS_cond_class *cond_class; PFS_file_class *file_class; PFS_instr_class *table_class; + PFS_socket_class *socket_class; set_position(pos); DBUG_ASSERT(m_pos.m_index_3 < thread_max); @@ -294,6 +316,14 @@ table_ews_by_thread_by_event_name::rnd_p return 0; } break; + case pos_ews_by_thread_by_event_name::VIEW_SOCKET: + socket_class= find_socket_class(m_pos.m_index_2); + if (socket_class) + { + make_row(thread, socket_class); + return 0; + } + break; } return HA_ERR_RECORD_DELETED; === modified file 'storage/perfschema/table_ews_global_by_event_name.cc' --- a/storage/perfschema/table_ews_global_by_event_name.cc 2011-01-07 16:20:19 +0000 +++ b/storage/perfschema/table_ews_global_by_event_name.cc 2011-02-12 00:22:15 +0000 @@ -118,6 +118,7 @@ int table_ews_global_by_event_name::rnd_ PFS_rwlock_class *rwlock_class; PFS_cond_class *cond_class; PFS_file_class *file_class; + PFS_socket_class *socket_class; if (global_instr_class_waits_array == NULL) return HA_ERR_END_OF_FILE; @@ -178,6 +179,15 @@ int table_ews_global_by_event_name::rnd_ return 0; } break; + case pos_ews_global_by_event_name::VIEW_SOCKET: + socket_class= find_socket_class(m_pos.m_index_2); + if (socket_class) + { + make_socket_row(socket_class); + m_next_pos.set_after(&m_pos); + return 0; + } + break; default: break; } @@ -193,6 +203,7 @@ table_ews_global_by_event_name::rnd_pos( PFS_rwlock_class *rwlock_class; PFS_cond_class *cond_class; PFS_file_class *file_class; + PFS_socket_class *socket_class; set_position(pos); @@ -241,6 +252,14 @@ table_ews_global_by_event_name::rnd_pos( else make_table_lock_row(&global_table_lock_class); break; + case pos_ews_global_by_event_name::VIEW_SOCKET: + socket_class= find_socket_class(m_pos.m_index_2); + if (socket_class) + { + make_socket_row(socket_class); + return 0; + } + break; } return HA_ERR_RECORD_DELETED; @@ -324,6 +343,19 @@ void table_ews_global_by_event_name m_row_exists= true; } +void table_ews_global_by_event_name +::make_socket_row(PFS_socket_class *klass) +{ + m_row.m_event_name.make_row(klass); + + PFS_instance_wait_visitor visitor; + PFS_instance_iterator::visit_socket_instances(klass, &visitor); + + time_normalizer *normalizer= time_normalizer::get(wait_timer); + m_row.m_stat.set(normalizer, &visitor.m_stat); + m_row_exists= true; +} + int table_ews_global_by_event_name ::read_row_values(TABLE *table, unsigned char *, Field **fields, bool read_all) === modified file 'storage/perfschema/table_ews_global_by_event_name.h' --- a/storage/perfschema/table_ews_global_by_event_name.h 2011-01-07 16:20:19 +0000 +++ b/storage/perfschema/table_ews_global_by_event_name.h 2011-02-12 00:22:15 +0000 @@ -110,6 +110,7 @@ protected: void make_file_row(PFS_file_class *klass); void make_table_io_row(PFS_instr_class *klass); void make_table_lock_row(PFS_instr_class *klass); + void make_socket_row(PFS_socket_class *klass); private: /** Table share lock. */ === modified file 'storage/perfschema/table_setup_instruments.cc' --- a/storage/perfschema/table_setup_instruments.cc 2011-02-07 21:34:45 +0000 +++ b/storage/perfschema/table_setup_instruments.cc 2011-02-11 21:01:56 +0000 @@ -113,7 +113,7 @@ int table_setup_instruments::rnd_next(vo instr_class= find_table_class(m_pos.m_index_2); break; case pos_setup_instruments::VIEW_SOCKET: - instr_class= find_table_class(m_pos.m_index_2); + instr_class= find_socket_class(m_pos.m_index_2); break; } if (instr_class) === modified file 'storage/perfschema/table_socket_instances.cc' --- a/storage/perfschema/table_socket_instances.cc 2011-02-08 23:01:39 +0000 +++ b/storage/perfschema/table_socket_instances.cc 2011-02-12 00:22:15 +0000 @@ -62,7 +62,6 @@ static const TABLE_FIELD_TYPE field_type } }; - TABLE_FIELD_DEF table_socket_instances::m_field_def= { 6, field_types }; --===============2040549680299242205== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/cpowers@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: cpowers@tma-1-20110212002215-lne86pesxclo411j # target_branch: file:///home/cpowers/work/dev/base_mysql-trunk-\ # wl4896/ # testament_sha1: 50ad9c35c1d1728357ca45d1aa6201576f130ad2 # timestamp: 2011-02-11 18:23:36 -0600 # base_revision_id: cpowers@tma-1-20110208230139-aunxabwh1degvw6p # # Begin bundle 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 PDzzzwUgu5IpwoSDHlzdgA== --===============2040549680299242205==--