Bug #80851 'wait/io/file/innodb%' instruments is missing
Submitted: 24 Mar 2016 15:11 Modified: 24 Mar 2016 19:06
Reporter: Tim Smith Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Server: Performance Schema Severity:S2 (Serious)
Version:5.6.29 OS:Windows
Assigned to: CPU Architecture:Any

[24 Mar 2016 15:11] Tim Smith
Description:
'wait/io/file/innodb%' instruments is missing from performance_schema.setup_instruments.

How to repeat:
Follow the instructions at http://dev.mysql.com/doc/refman/5.6/en/performance-schema-wait-tables.html to check whether 'wait/io/file/innodb%' events are enabled in performance_schema.setup_instruments

mysql> show global variables like '%version%';
+-------------------------+------------------------------+
| Variable_name           | Value                        |
+-------------------------+------------------------------+
| innodb_version          | 5.6.29                       |
| protocol_version        | 10                           |
| slave_type_conversions  |                              |
| version                 | 5.6.29-log                   |
| version_comment         | MySQL Community Server (GPL) |
| version_compile_machine | x86_64                       |
| version_compile_os      | Win64                        |
+-------------------------+------------------------------+
7 rows in set (0.00 sec)

mysql> SHOW VARIABLES LIKE 'perf%';
+--------------------------------------------------------+-------+
| Variable_name                                          | Value |
+--------------------------------------------------------+-------+
| performance_schema                                     | ON    |
| performance_schema_accounts_size                       | 100   |
| performance_schema_digests_size                        | 10000 |
| performance_schema_events_stages_history_long_size     | 10000 |
| performance_schema_events_stages_history_size          | 10    |
| performance_schema_events_statements_history_long_size | 10000 |
| performance_schema_events_statements_history_size      | 10    |
| performance_schema_events_waits_history_long_size      | 10000 |
| performance_schema_events_waits_history_size           | 10    |
| performance_schema_hosts_size                          | 100   |
| performance_schema_max_cond_classes                    | 80    |
| performance_schema_max_cond_instances                  | 3504  |
| performance_schema_max_digest_length                   | 1024  |
| performance_schema_max_file_classes                    | 50    |
| performance_schema_max_file_handles                    | 32768 |
| performance_schema_max_file_instances                  | 6770  |
| performance_schema_max_mutex_classes                   | 200   |
| performance_schema_max_mutex_instances                 | 15906 |
| performance_schema_max_rwlock_classes                  | 40    |
| performance_schema_max_rwlock_instances                | 9102  |
| performance_schema_max_socket_classes                  | 10    |
| performance_schema_max_socket_instances                | 322   |
| performance_schema_max_stage_classes                   | 150   |
| performance_schema_max_statement_classes               | 168   |
| performance_schema_max_table_handles                   | 4000  |
| performance_schema_max_table_instances                 | 12500 |
| performance_schema_max_thread_classes                  | 50    |
| performance_schema_max_thread_instances                | 402   |
| performance_schema_session_connect_attrs_size          | 512   |
| performance_schema_setup_actors_size                   | 100   |
| performance_schema_setup_objects_size                  | 100   |
| performance_schema_users_size                          | 100   |
+--------------------------------------------------------+-------+
32 rows in set (0.00 sec)

However, the result is empty instead of three rows (wait/io/file/innodb/innodb_data_file, wait/io/file/innodb/innodb_log_file and wait/io/file/innodb/innodb_temp_file ) as the manual says.

mysql> SELECT * FROM performance_schema.setup_instruments WHERE NAME LIKE 'wait/io/file/innodb%';
Empty set (0.00 sec)

Suggested fix:
If we issue SELECT * FROM setup_instruments WHERE NAME LIKE 'wait/io/file/innodb%', the results should be 
+--------------------------------------+---------+-------+
| NAME                                 | ENABLED | TIMED |
+--------------------------------------+---------+-------+
| wait/io/file/innodb/innodb_data_file | YES     | YES   |
| wait/io/file/innodb/innodb_log_file  | YES     | YES   |
| wait/io/file/innodb/innodb_temp_file | YES     | YES   |
+--------------------------------------+---------+-------+
and we can tracking InnoDB file IO via performance_schema.file_summary_by_instance.
[24 Mar 2016 19:00] MySQL Verification Team
looks like https://bugs.mysql.com/bug.php?id=68574