Edit report at https://bugs.php.net/bug.php?id=61837&edit=1
ID: 61837 Updated by: u...@php.net Reported by: jpa...@php.net Summary: Problem collecting stats with mysqlnd Status: Open Type: Bug Package: MySQL related Operating System: Linux PHP Version: 5.3.10 Block user comment: N Private report: N New Comment: Memory statistics are not available on a per connection basis but only globally. We need to update the documentation. rows_fetched_from_client_normal_buffered are also only incremented on a global level not on a per connection basis. This should be a bug, leaving it to Andrey to decide and fix. Previous Comments: ------------------------------------------------------------------------ [2012-04-24 14:17:38] jpa...@php.net Description: ------------ mysqli_get_connection_stats() doesn't seem to work, but mysqli_get_client_stats() does. mysqli_get_connection_stats() gives nearly no information at all, big part of fields it returns are '0' valued Test script: --------------- ini_set('mysqlnd.collect_statistics', 1); ini_set('mysqlnd.collect_memory_statistics', 1); $db = mysqli_connect('server', 'user', 'secret', 'mydb'); $result = mysqli_query($db,"SELECT user_id FROM users LIMIT 5"); mysqli_data_seek($result, 5); $data = mysqli_fetch_row($result); var_dump(mysqli_get_connection_stats($db)); Expected result: ---------------- I expect the keys "mem_***" to contain non null values "rows_fetched_from_client_normal_buffered" should be 1 as I fetch one value from a buffered non prepared dataset Actual result: -------------- array(160) { ["bytes_sent"]=> string(3) "193" ["bytes_received"]=> string(3) "379" ["packets_sent"]=> string(1) "4" ["packets_received"]=> string(2) "12" ["protocol_overhead_in"]=> string(2) "48" ["protocol_overhead_out"]=> string(2) "16" ["bytes_received_ok_packet"]=> string(2) "11" ["bytes_received_eof_packet"]=> string(1) "9" ["bytes_received_rset_header_packet"]=> string(1) "5" ["bytes_received_rset_field_meta_packet"]=> string(3) "202" ["bytes_received_rset_row_packet"]=> string(2) "66" ["bytes_received_prepare_response_packet"]=> string(1) "0" ["bytes_received_change_user_packet"]=> string(1) "0" ["packets_sent_command"]=> string(1) "1" ["packets_received_ok"]=> string(1) "1" ["packets_received_eof"]=> string(1) "1" ["packets_received_rset_header"]=> string(1) "1" ["packets_received_rset_field_meta"]=> string(1) "2" ["packets_received_rset_row"]=> string(1) "6" ["packets_received_prepare_response"]=> string(1) "0" ["packets_received_change_user"]=> string(1) "0" ["result_set_queries"]=> string(1) "1" ["non_result_set_queries"]=> string(1) "0" ["no_index_used"]=> string(1) "0" ["bad_index_used"]=> string(1) "0" ["slow_queries"]=> string(1) "0" ["buffered_sets"]=> string(1) "1" ["unbuffered_sets"]=> string(1) "0" ["ps_buffered_sets"]=> string(1) "0" ["ps_unbuffered_sets"]=> string(1) "0" ["flushed_normal_sets"]=> string(1) "0" ["flushed_ps_sets"]=> string(1) "0" ["ps_prepared_never_executed"]=> string(1) "0" ["ps_prepared_once_executed"]=> string(1) "0" ["rows_fetched_from_server_normal"]=> string(1) "5" ["rows_fetched_from_server_ps"]=> string(1) "0" ["rows_buffered_from_client_normal"]=> string(1) "5" ["rows_buffered_from_client_ps"]=> string(1) "0" ["rows_fetched_from_client_normal_buffered"]=> string(1) "0" ["rows_fetched_from_client_normal_unbuffered"]=> string(1) "0" ["rows_fetched_from_client_ps_buffered"]=> string(1) "0" ["rows_fetched_from_client_ps_unbuffered"]=> string(1) "0" ["rows_fetched_from_client_ps_cursor"]=> string(1) "0" ["rows_affected_normal"]=> string(1) "0" ["rows_affected_ps"]=> string(1) "0" ["rows_skipped_normal"]=> string(1) "5" ["rows_skipped_ps"]=> string(1) "0" ["copy_on_write_saved"]=> string(1) "0" ["copy_on_write_performed"]=> string(1) "0" ["command_buffer_too_small"]=> string(1) "0" ["connect_success"]=> string(1) "1" ["connect_failure"]=> string(1) "0" ["connection_reused"]=> string(1) "0" ["reconnect"]=> string(1) "0" ["pconnect_success"]=> string(1) "0" ["active_connections"]=> string(1) "1" ["active_persistent_connections"]=> string(1) "0" ["explicit_close"]=> string(1) "0" ["implicit_close"]=> string(1) "0" ["disconnect_close"]=> string(1) "0" ["in_middle_of_command_close"]=> string(1) "0" ["explicit_free_result"]=> string(1) "0" ["implicit_free_result"]=> string(1) "0" ["explicit_stmt_close"]=> string(1) "0" ["implicit_stmt_close"]=> string(1) "0" ["mem_emalloc_count"]=> string(1) "0" ["mem_emalloc_amount"]=> string(1) "0" ["mem_ecalloc_count"]=> string(1) "0" ["mem_ecalloc_amount"]=> string(1) "0" ["mem_erealloc_count"]=> string(1) "0" ["mem_erealloc_amount"]=> string(1) "0" ["mem_efree_count"]=> string(1) "0" ["mem_efree_amount"]=> string(1) "0" ["mem_malloc_count"]=> string(1) "0" ["mem_malloc_amount"]=> string(1) "0" ["mem_calloc_count"]=> string(1) "0" ["mem_calloc_amount"]=> string(1) "0" ["mem_realloc_count"]=> string(1) "0" ["mem_realloc_amount"]=> string(1) "0" ["mem_free_count"]=> string(1) "0" ["mem_free_amount"]=> string(1) "0" ["mem_estrndup_count"]=> string(1) "0" ["mem_strndup_count"]=> string(1) "0" ["mem_estndup_count"]=> string(1) "0" ["mem_strdup_count"]=> string(1) "0" ["proto_text_fetched_null"]=> string(1) "0" ["proto_text_fetched_bit"]=> string(1) "0" ["proto_text_fetched_tinyint"]=> string(1) "0" ["proto_text_fetched_short"]=> string(1) "0" ["proto_text_fetched_int24"]=> string(1) "0" ["proto_text_fetched_int"]=> string(1) "0" ["proto_text_fetched_bigint"]=> string(1) "1" ["proto_text_fetched_decimal"]=> string(1) "0" ["proto_text_fetched_float"]=> string(1) "0" ["proto_text_fetched_double"]=> string(1) "0" ["proto_text_fetched_date"]=> string(1) "0" ["proto_text_fetched_year"]=> string(1) "0" ["proto_text_fetched_time"]=> string(1) "0" ["proto_text_fetched_datetime"]=> string(1) "0" ["proto_text_fetched_timestamp"]=> string(1) "0" ["proto_text_fetched_string"]=> string(1) "0" ["proto_text_fetched_blob"]=> string(1) "0" ["proto_text_fetched_enum"]=> string(1) "0" ["proto_text_fetched_set"]=> string(1) "0" ["proto_text_fetched_geometry"]=> string(1) "0" ["proto_text_fetched_other"]=> string(1) "0" ["proto_binary_fetched_null"]=> string(1) "0" ["proto_binary_fetched_bit"]=> string(1) "0" ["proto_binary_fetched_tinyint"]=> string(1) "0" ["proto_binary_fetched_short"]=> string(1) "0" ["proto_binary_fetched_int24"]=> string(1) "0" ["proto_binary_fetched_int"]=> string(1) "0" ["proto_binary_fetched_bigint"]=> string(1) "0" ["proto_binary_fetched_decimal"]=> string(1) "0" ["proto_binary_fetched_float"]=> string(1) "0" ["proto_binary_fetched_double"]=> string(1) "0" ["proto_binary_fetched_date"]=> string(1) "0" ["proto_binary_fetched_year"]=> string(1) "0" ["proto_binary_fetched_time"]=> string(1) "0" ["proto_binary_fetched_datetime"]=> string(1) "0" ["proto_binary_fetched_timestamp"]=> string(1) "0" ["proto_binary_fetched_string"]=> string(1) "0" ["proto_binary_fetched_blob"]=> string(1) "0" ["proto_binary_fetched_enum"]=> string(1) "0" ["proto_binary_fetched_set"]=> string(1) "0" ["proto_binary_fetched_geometry"]=> string(1) "0" ["proto_binary_fetched_other"]=> string(1) "0" ["init_command_executed_count"]=> string(1) "0" ["init_command_failed_count"]=> string(1) "0" ["com_quit"]=> string(1) "0" ["com_init_db"]=> string(1) "0" ["com_query"]=> string(1) "1" ["com_field_list"]=> string(1) "0" ["com_create_db"]=> string(1) "0" ["com_drop_db"]=> string(1) "0" ["com_refresh"]=> string(1) "0" ["com_shutdown"]=> string(1) "0" ["com_statistics"]=> string(1) "0" ["com_process_info"]=> string(1) "0" ["com_connect"]=> string(1) "0" ["com_process_kill"]=> string(1) "0" ["com_debug"]=> string(1) "0" ["com_ping"]=> string(1) "0" ["com_time"]=> string(1) "0" ["com_delayed_insert"]=> string(1) "0" ["com_change_user"]=> string(1) "0" ["com_binlog_dump"]=> string(1) "0" ["com_table_dump"]=> string(1) "0" ["com_connect_out"]=> string(1) "0" ["com_register_slave"]=> string(1) "0" ["com_stmt_prepare"]=> string(1) "0" ["com_stmt_execute"]=> string(1) "0" ["com_stmt_send_long_data"]=> string(1) "0" ["com_stmt_close"]=> string(1) "0" ["com_stmt_reset"]=> string(1) "0" ["com_stmt_set_option"]=> string(1) "0" ["com_stmt_fetch"]=> string(1) "0" ["com_deamon"]=> string(1) "0" ["bytes_received_real_data_normal"]=> string(1) "6" ["bytes_received_real_data_ps"]=> string(1) "0" } ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=61837&edit=1