[MDEV-15706] Remove information_schema.innodb_metrics, innodb_monitor_enable, innodb_monitor_disable Created: 2018-03-28  Updated: 2023-08-01

Status: Open
Project: MariaDB Server
Component/s: Storage Engine - InnoDB
Fix Version/s: None

Type: Task Priority: Minor
Reporter: Marko Mäkelä Assignee: Thirunarayanan Balathandayuthapani
Resolution: Unresolved Votes: 2
Labels: performance_schema

Issue Links:
Blocks
is blocked by MDEV-17732 Write functional tests for the InnoDB... Confirmed
Relates
relates to MDEV-9077 bundle sys schema Closed
relates to MDEV-11384 AliSQL: [Feature] Issue#19 BUFFER POO... Closed
relates to MDEV-16580 Remove unused monitor counters from I... Closed
relates to MDEV-17306 rw_lock_x_lock_wait_func() double inc... Closed
relates to MDEV-21452 Use condition variables and normal mu... Closed
relates to MDEV-22858 Remove unused innodb_mem_validate_use... Closed
relates to MDEV-25687 trx_active_transactions is inconsiste... Closed
relates to MDEV-25689 metadata_table_reference_count, metad... Closed
relates to MDEV-31308 InnoDB monitor trx_rseg_history_len w... Closed
relates to MDEV-17441 InnoDB transition to C++11 atomics Closed

 Description   

The InnoDB monitor was a precursor of PERFORMANCE_SCHEMA in InnoDB, added in MySQL 5.5.
There should be only one (good) performance monitoring mechanism. Now we have several:

  • SHOW ENGINE INNODB STATUS (hopefully to be removed at some part of future)
  • INFORMATION_SCHEMA.GLOBAL_STATUS
  • INFORMATION_SCHEMA.INNODB_METRICS (to be removed in this task)
  • PERFORMANCE_SCHEMA

We should evaluate all the INNODB_METRICS counters and construct a mapping to the PERFORMANCE_SCHEMA or GLOBAL_STATUS counters correspond to them. There may be some obscure counters that can be removed; also these must be documented. Some counters may need to be added to PERFORMANCE_SCHEMA or GLOBAL_STATUS. If updating some status is not expensive, we might as well update it all the time and expose via GLOBAL_STATUS.



 Comments   
Comment by Marko Mäkelä [ 2020-10-07 ]

Related to this task, I think that we should remove MONITOR_SET() and simply always export the values via export_vars or even more directly via innodb_status_variables[]. And for compatibility, until the monitor counters have been removed, the monitors should reflect the above-mentioned global variables. The monitors would basically be always enabled.

Comment by Daniel Black [ 2021-02-15 ]

Note the current community maintained MariaDB sys schema uses information_schema.INNODB_METRICS to complement INFORMATION_SCHEMA.GLOBAL_STATUS information;

ref: https://github.com/FromDual/mariadb-sys/blob/master/views/p_s/metrics_56.sql#L22

I'm sure MDEV-9077 (adding sys schema) will account for it, however if delayed please tell oli for mariadb-sys so some compatibility solution like https://github.com/FromDual/mariadb-sys/pull/2 can be implemented.

Generated at Thu Feb 08 08:23:24 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.