Bug #61277 Innodb "old database pages" aren't collected by MEM
Submitted: 24 May 2011 15:50 Modified: 22 Sep 2014 10:53
Reporter: Ben Mildren Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Enterprise Monitor: Server Severity:S3 (Non-critical)
Version:MEM 2.3, MySQL 5.5 OS:Any
Assigned to: CPU Architecture:Any
Tags: global status, innodb status

[24 May 2011 15:50] Ben Mildren
Description:
In MySQL 5.5, the "Buffer Pool and Memory" section of SHOW INNODB ENGINE STATUS, now reports "Old database pages" separately to "Database pages".

MEM collects "Database pages" using SHOW INNODB ENGINE STATUS it doesn't however seem to collect "Old database pages". This leads to confusion when looking at the InnoDB Buffer Pool graph.

MEM also collects "Database pages" using the GLOBAL STATUS VARIABLES, interestingly though "Old database pages" seems to be reported as part of Innodb_buffer_pool_pages_misc.

How to repeat:
MEM Help File:

Appendix D. Data Collection Items

...

mysql	innodbstatus	innodb_bp_db_pages	long	The current number of buffer pool pages
mysql	innodbstatus	innodb_bp_dictionary_alloc	long	MISSING
mysql	innodbstatus	innodb_bp_free_buffers	long	The current number of free buffer pool pages
(No "Old database pages" collection specified)

...

Appendix B.

innodb_buffer_pool.name

Displays the size and page usage of the InnoDB buffer pool, providing information on the cache usage and performance. The graph shows the buffer pool size, active pages, and the number of modified pages.
Name	innodb_buffer_pool.name
Range Label	innodb_buffer_pool.rangeLabel
Series	Expression
innodb_buffer_pool.series1.label	(size*16384)/(1024*1024)
innodb_buffer_pool.series2.label	(used*16384)/(1024*1024)
innodb_buffer_pool.series3.label	(modified*16384)/(1024*1024)
innodb_buffer_pool.series4.label	(dict)/(1024*1024)
Variables	Data Item
size	mysql:innodbstatus:innodb_bp_size
used	mysql:innodbstatus:innodb_bp_db_pages
modified	mysql:innodbstatus:innodb_bp_modified_pages
dict	mysql:innodbstatus:innodb_bp_dictionary_alloc

(Confirms use of innodbstatus db_Pages collection, highlighting the absence of "Old database pages")

Suggested fix:
Add collection for "Old database pages" from innodbstatus.

Add global status variable for "Old database pages", or choose to include "Old database pages" in Innodb_buffer_pool_pages_data as opposed to Innodb_buffer_pool_pages_misc.
[25 May 2011 8:44] Valeriy Kravchuk
Thank you for the problem report.
[1 Aug 2011 16:11] John Russell
Added to 2.3.5 change log:

Added the following new InnoDB-related items to graphs:

Added an Old series to the InnoDB Buffer Pool graph. Added a Redo Log series to
the InnoDB OS File Access graph. New graph InnoDB Buffer Pool Page
Activity. New graph InnoDB Buffer Pool Pending Operations. New graph
InnoDB Change Buffer Usage. New graph InnoDB Change Buffer Activity
(two graphs, pre and post 5.5 versions). New graph InnoDB Doublewrite
Buffer Activity. New graph InnoDB Redo Log Pending Writes.