Bug #83026 innodb history list length missing in 'show global status'
Submitted: 16 Sep 2016 19:02 Modified: 30 Sep 2016 7:20
Reporter: Domas Mituzas Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: InnoDB storage engine Severity:S3 (Non-critical)
Version:5.6 OS:Any
Assigned to: CPU Architecture:Any

[16 Sep 2016 19:02] Domas Mituzas
Description:
there's no history list length in 'SHOW GLOBAL STATUS', how does one fetch it otherwise?!?!?!

How to repeat:
mysql> show global status like  '%history%';
Empty set (0.07 sec)

Suggested fix:
add history list length to global status
[16 Sep 2016 20:36] MySQL Verification Team
mysql 5.6 > CREATE TABLE innodb_monitor (a INT) ENGINE=INNODB;
Query OK, 0 rows affected, 1 warning (0.27 sec)

mysql 5.6 > SHOW ENGINE INNODB STATUS\G
*************************** 1. row ***************************
  Type: InnoDB
  Name:
Status:
=====================================
2016-09-16 17:32:38 3c98 INNODB MONITOR OUTPUT
=====================================
Per second averages calculated from the last 19 seconds
-----------------
BACKGROUND THREAD
-----------------
srv_master_thread loops: 1 srv_active, 0 srv_shutdown, 57 srv_idle
srv_master_thread log flush and writes: 58
----------
SEMAPHORES
----------
OS WAIT ARRAY INFO: reservation count 3
OS WAIT ARRAY INFO: signal count 3
Mutex spin waits 0, rounds 0, OS waits 0
RW-shared spins 3, rounds 90, OS waits 3
RW-excl spins 0, rounds 0, OS waits 0
Spin rounds per wait: 0.00 mutex, 30.00 RW-shared, 0.00 RW-excl
------------
TRANSACTIONS
------------
Trx id counter 4357
Purge done for trx's n:o < 3859 undo n:o < 0 state: running but idle
History list length 5 << that's what are you looking for?
[17 Sep 2016 5:55] MySQL Verification Team
mysql> select * from information_schema.innodb_metrics where name='trx_rseg_history_len'\G
*************************** 1. row ***************************
           NAME: trx_rseg_history_len
      SUBSYSTEM: transaction
          COUNT: 72
      MAX_COUNT: 72
      MIN_COUNT: 72
      AVG_COUNT: NULL
    COUNT_RESET: 72
MAX_COUNT_RESET: 72
MIN_COUNT_RESET: 72
AVG_COUNT_RESET: NULL
   TIME_ENABLED: 2016-09-17 07:53:33
  TIME_DISABLED: NULL
   TIME_ELAPSED: 37
     TIME_RESET: NULL
         STATUS: enabled
           TYPE: value
        COMMENT: Length of the TRX_RSEG_HISTORY list
1 row in set (0.00 sec)
[17 Sep 2016 5:58] MySQL Verification Team
Or ..  gdb -p `pidof mysqld` -ex "print trx_sys->rseg_history_len" --batch
[19 Sep 2016 15:54] Domas Mituzas
Shane is closer... so, are engine metrics going to be removed from global status moving on? Are other innodb metrics going to be sent there instead of global status? Why are these exceptions made for a metric that was useful for past fifty years?
[30 Sep 2016 7:20] MySQL Verification Team
Verifying as FR.

Thanks,
Umesh