Information Schema INNODB_METRICS Table
The Information Schema
INNODB_METRICS table contains a list of useful InnoDB performance metrics. Each row in the table represents an instrumented counter that can be stopped, started and reset, and which can be grouped together by module.
PROCESS privilege is required to view the table.
It has the following columns:
|Unique counter name.|
|InnoDB subsystem. See below for the matching module to use to enable/disable monitoring this subsytem with the innodb_monitor_enable and innodb_monitor_disable system variables.|
|Count since being enabled.|
|Maximum value since being enabled.|
|Minimum value since being enabled.|
|Average value since being enabled.|
|Count since last being reset.|
|Maximum value since last being reset.|
|Minimum value since last being reset.|
|Average value since last being reset.|
|Time last enabled.|
|Time last disabled|
|Time since enabled|
|Time last reset.|
|Whether the counter is currently enabled to disabled.|
|Item type; one of |
Enabling and disabling counters
Most of the counters are disabled by default. To enable them, use the innodb_monitor_enable system variable. You can either enable a variable by its name, for example:
SET GLOBAL innodb_monitor_enable = icp_match;
or enable a number of counters grouped by module. The
SUBSYSTEM field indicates which counters are grouped together, but the following module names need to be used:
|Module Name||Subsytem Field|
There are four counters in the
SELECT NAME, SUBSYSTEM FROM INNODB_METRICS WHERE SUBSYSTEM='icp'; +------------------+-----------+ | NAME | SUBSYSTEM | +------------------+-----------+ | icp_attempts | icp | | icp_no_match | icp | | icp_out_of_range | icp | | icp_match | icp | +------------------+-----------+
To enable them all, use the associated module name from the table above,
SET GLOBAL innodb_monitor_enable = module_icp;
% wildcard, used to represent any number of characters, can also be used when naming counters, for example:
SET GLOBAL innodb_monitor_enable = 'buffer%'
To disable counters, use the innodb_monitor_disable system variable, using the same naming rules as described above for enabling.
Counter status is not persistent, and will be reset when the server restarts. It is possible to use the options on the command line, or the
innodb_monitor_enable option only in a configuration file.
Counters can also be reset. Resetting sets all the
*_COUNT_RESET values to zero, while leaving the
*_COUNT values, which perform counts since the counter was enabled, untouched. Resetting is performed with the innodb_monitor_reset (for individual counters) and innodb_monitor_reset_all (for all counters) system variables.