27 #ifndef UNIV_HOTBACKUP 
   43 #define MONITOR_BUF_PAGE(name, description, code, op, op_code)  \ 
   44         {"buffer_page_"op"_"name, "buffer_page_io",             \ 
   45          "Number of "description" Pages "op,                    \ 
   46          MONITOR_GROUP_MODULE, MONITOR_DEFAULT_START,           \ 
   47          MONITOR_##code##_##op_code} 
   49 #define MONITOR_BUF_PAGE_READ(name, description, code)          \ 
   50          MONITOR_BUF_PAGE(name, description, code, "read", PAGE_READ) 
   52 #define MONITOR_BUF_PAGE_WRITTEN(name, description, code)       \ 
   53          MONITOR_BUF_PAGE(name, description, code, "written", PAGE_WRITTEN) 
   67         {
"module_start", 
"module_start", 
"module_start",
 
   69         MONITOR_DEFAULT_START, MONITOR_DEFAULT_START},
 
   72         {
"module_metadata", 
"metadata", 
"Server Metadata",
 
   74          MONITOR_DEFAULT_START, MONITOR_MODULE_METADATA},
 
   76         {
"metadata_table_handles_opened", 
"metadata",
 
   77          "Number of table handles opened",
 
   79          MONITOR_DEFAULT_START, MONITOR_TABLE_OPEN},
 
   81         {
"metadata_table_handles_closed", 
"metadata",
 
   82          "Number of table handles closed",
 
   84          MONITOR_DEFAULT_START, MONITOR_TABLE_CLOSE},
 
   86         {
"metadata_table_reference_count", 
"metadata",
 
   87          "Table reference counter",
 
   89          MONITOR_DEFAULT_START, MONITOR_TABLE_REFERENCE},
 
   91         {
"metadata_mem_pool_size", 
"metadata",
 
   92          "Size of a memory pool InnoDB uses to store data dictionary" 
   93          " and internal data structures in bytes",
 
   96          MONITOR_DEFAULT_START, MONITOR_OVLD_META_MEM_POOL},
 
   99         {
"module_lock", 
"lock", 
"Lock Module",
 
  101          MONITOR_DEFAULT_START, MONITOR_MODULE_LOCK},
 
  103         {
"lock_deadlocks", 
"lock", 
"Number of deadlocks",
 
  105          MONITOR_DEFAULT_START, MONITOR_DEADLOCK},
 
  107         {
"lock_timeouts", 
"lock", 
"Number of lock timeouts",
 
  109          MONITOR_DEFAULT_START, MONITOR_TIMEOUT},
 
  111         {
"lock_rec_lock_waits", 
"lock",
 
  112          "Number of times enqueued into record lock wait queue",
 
  114          MONITOR_DEFAULT_START, MONITOR_LOCKREC_WAIT},
 
  116         {
"lock_table_lock_waits", 
"lock",
 
  117          "Number of times enqueued into table lock wait queue",
 
  119          MONITOR_DEFAULT_START, MONITOR_TABLELOCK_WAIT},
 
  121         {
"lock_rec_lock_requests", 
"lock",
 
  122          "Number of record locks requested",
 
  124          MONITOR_DEFAULT_START, MONITOR_NUM_RECLOCK_REQ},
 
  126         {
"lock_rec_lock_created", 
"lock", 
"Number of record locks created",
 
  128          MONITOR_DEFAULT_START, MONITOR_RECLOCK_CREATED},
 
  130         {
"lock_rec_lock_removed", 
"lock",
 
  131          "Number of record locks removed from the lock queue",
 
  133          MONITOR_DEFAULT_START, MONITOR_RECLOCK_REMOVED},
 
  135         {
"lock_rec_locks", 
"lock",
 
  136          "Current number of record locks on tables",
 
  138          MONITOR_DEFAULT_START, MONITOR_NUM_RECLOCK},
 
  140         {
"lock_table_lock_created", 
"lock", 
"Number of table locks created",
 
  142          MONITOR_DEFAULT_START, MONITOR_TABLELOCK_CREATED},
 
  144         {
"lock_table_lock_removed", 
"lock",
 
  145          "Number of table locks removed from the lock queue",
 
  147          MONITOR_DEFAULT_START, MONITOR_TABLELOCK_REMOVED},
 
  149         {
"lock_table_locks", 
"lock",
 
  150          "Current number of table locks on tables",
 
  152          MONITOR_DEFAULT_START, MONITOR_NUM_TABLELOCK},
 
  154         {
"lock_row_lock_current_waits", 
"lock",
 
  155          "Number of row locks currently being waited for" 
  156          " (innodb_row_lock_current_waits)",
 
  159          MONITOR_DEFAULT_START, MONITOR_OVLD_ROW_LOCK_CURRENT_WAIT},
 
  161         {
"lock_row_lock_time", 
"lock",
 
  162          "Time spent in acquiring row locks, in milliseconds" 
  163          " (innodb_row_lock_time)",
 
  166          MONITOR_DEFAULT_START, MONITOR_OVLD_LOCK_WAIT_TIME},
 
  168         {
"lock_row_lock_time_max", 
"lock",
 
  169          "The maximum time to acquire a row lock, in milliseconds" 
  170          " (innodb_row_lock_time_max)",
 
  173          MONITOR_DEFAULT_START, MONITOR_OVLD_LOCK_MAX_WAIT_TIME},
 
  175         {
"lock_row_lock_waits", 
"lock",
 
  176          "Number of times a row lock had to be waited for" 
  177          " (innodb_row_lock_waits)",
 
  180          MONITOR_DEFAULT_START, MONITOR_OVLD_ROW_LOCK_WAIT},
 
  182         {
"lock_row_lock_time_avg", 
"lock",
 
  183          "The average time to acquire a row lock, in milliseconds" 
  184          " (innodb_row_lock_time_avg)",
 
  187          MONITOR_DEFAULT_START, MONITOR_OVLD_LOCK_AVG_WAIT_TIME},
 
  190         {
"module_buffer", 
"buffer", 
"Buffer Manager Module",
 
  192          MONITOR_DEFAULT_START, MONITOR_MODULE_BUFFER},
 
  194         {
"buffer_pool_size", 
"server",
 
  195          "Server buffer pool size (all buffer pools) in bytes",
 
  198          MONITOR_DEFAULT_START, MONITOR_OVLD_BUFFER_POOL_SIZE},
 
  200         {
"buffer_pool_reads", 
"buffer",
 
  201          "Number of reads directly from disk (innodb_buffer_pool_reads)",
 
  204          MONITOR_DEFAULT_START, MONITOR_OVLD_BUF_POOL_READS},
 
  206         {
"buffer_pool_read_requests", 
"buffer",
 
  207          "Number of logical read requests (innodb_buffer_pool_read_requests)",
 
  210          MONITOR_DEFAULT_START, MONITOR_OVLD_BUF_POOL_READ_REQUESTS},
 
  212         {
"buffer_pool_write_requests", 
"buffer",
 
  213          "Number of write requests (innodb_buffer_pool_write_requests)",
 
  216          MONITOR_DEFAULT_START, MONITOR_OVLD_BUF_POOL_WRITE_REQUEST},
 
  218         {
"buffer_pool_wait_free", 
"buffer",
 
  219          "Number of times waited for free buffer" 
  220          " (innodb_buffer_pool_wait_free)",
 
  223          MONITOR_DEFAULT_START, MONITOR_OVLD_BUF_POOL_WAIT_FREE},
 
  225         {
"buffer_pool_read_ahead", 
"buffer",
 
  226          "Number of pages read as read ahead (innodb_buffer_pool_read_ahead)",
 
  229          MONITOR_DEFAULT_START, MONITOR_OVLD_BUF_POOL_READ_AHEAD},
 
  231         {
"buffer_pool_read_ahead_evicted", 
"buffer",
 
  232          "Read-ahead pages evicted without being accessed" 
  233          " (innodb_buffer_pool_read_ahead_evicted)",
 
  236          MONITOR_DEFAULT_START, MONITOR_OVLD_BUF_POOL_READ_AHEAD_EVICTED},
 
  238         {
"buffer_pool_pages_total", 
"buffer",
 
  239          "Total buffer pool size in pages (innodb_buffer_pool_pages_total)",
 
  242          MONITOR_DEFAULT_START, MONITOR_OVLD_BUF_POOL_PAGE_TOTAL},
 
  244         {
"buffer_pool_pages_misc", 
"buffer",
 
  245          "Buffer pages for misc use such as row locks or the adaptive" 
  246          " hash index (innodb_buffer_pool_pages_misc)",
 
  249          MONITOR_DEFAULT_START, MONITOR_OVLD_BUF_POOL_PAGE_MISC},
 
  251         {
"buffer_pool_pages_data", 
"buffer",
 
  252          "Buffer pages containing data (innodb_buffer_pool_pages_data)",
 
  255          MONITOR_DEFAULT_START, MONITOR_OVLD_BUF_POOL_PAGES_DATA},
 
  257         {
"buffer_pool_bytes_data", 
"buffer",
 
  258          "Buffer bytes containing data (innodb_buffer_pool_bytes_data)",
 
  261          MONITOR_DEFAULT_START, MONITOR_OVLD_BUF_POOL_BYTES_DATA},
 
  263         {
"buffer_pool_pages_dirty", 
"buffer",
 
  264          "Buffer pages currently dirty (innodb_buffer_pool_pages_dirty)",
 
  267          MONITOR_DEFAULT_START, MONITOR_OVLD_BUF_POOL_PAGES_DIRTY},
 
  269         {
"buffer_pool_bytes_dirty", 
"buffer",
 
  270          "Buffer bytes currently dirty (innodb_buffer_pool_bytes_dirty)",
 
  273          MONITOR_DEFAULT_START, MONITOR_OVLD_BUF_POOL_BYTES_DIRTY},
 
  275         {
"buffer_pool_pages_free", 
"buffer",
 
  276          "Buffer pages currently free (innodb_buffer_pool_pages_free)",
 
  279          MONITOR_DEFAULT_START, MONITOR_OVLD_BUF_POOL_PAGES_FREE},
 
  281         {
"buffer_pages_created", 
"buffer",
 
  282          "Number of pages created (innodb_pages_created)",
 
  285          MONITOR_DEFAULT_START, MONITOR_OVLD_PAGE_CREATED},
 
  287         {
"buffer_pages_written", 
"buffer",
 
  288          "Number of pages written (innodb_pages_written)",
 
  291          MONITOR_DEFAULT_START, MONITOR_OVLD_PAGES_WRITTEN},
 
  293         {
"buffer_pages_read", 
"buffer",
 
  294          "Number of pages read (innodb_pages_read)",
 
  297          MONITOR_DEFAULT_START, MONITOR_OVLD_PAGES_READ},
 
  299         {
"buffer_data_reads", 
"buffer",
 
  300          "Amount of data read in bytes (innodb_data_reads)",
 
  303          MONITOR_DEFAULT_START, MONITOR_OVLD_BYTE_READ},
 
  305         {
"buffer_data_written", 
"buffer",
 
  306          "Amount of data written in bytes (innodb_data_written)",
 
  309          MONITOR_DEFAULT_START, MONITOR_OVLD_BYTE_WRITTEN},
 
  312         {
"buffer_flush_batch_scanned", 
"buffer",
 
  313          "Total pages scanned as part of flush batch",
 
  315          MONITOR_FLUSH_BATCH_SCANNED_NUM_CALL,
 
  316          MONITOR_FLUSH_BATCH_SCANNED},
 
  318         {
"buffer_flush_batch_num_scan", 
"buffer",
 
  319          "Number of times buffer flush list flush is called",
 
  321          MONITOR_FLUSH_BATCH_SCANNED_NUM_CALL},
 
  323         {
"buffer_flush_batch_scanned_per_call", 
"buffer",
 
  324          "Pages scanned per flush batch scan",
 
  326          MONITOR_FLUSH_BATCH_SCANNED_PER_CALL},
 
  328         {
"buffer_flush_batch_rescan", 
"buffer",
 
  329          "Number of times rescan of flush list forced",
 
  331          MONITOR_DEFAULT_START, MONITOR_FLUSH_HP_RESCAN},
 
  334         {
"buffer_flush_batch_total_pages", 
"buffer",
 
  335          "Total pages flushed as part of flush batch",
 
  337          MONITOR_FLUSH_BATCH_TOTAL_PAGE},
 
  339         {
"buffer_flush_batches", 
"buffer",
 
  340          "Number of flush batches",
 
  342          MONITOR_FLUSH_BATCH_COUNT},
 
  344         {
"buffer_flush_batch_pages", 
"buffer",
 
  345          "Pages queued as a flush batch",
 
  347          MONITOR_FLUSH_BATCH_PAGES},
 
  350         {
"buffer_flush_neighbor_total_pages", 
"buffer",
 
  351          "Total neighbors flushed as part of neighbor flush",
 
  353          MONITOR_FLUSH_NEIGHBOR_TOTAL_PAGE},
 
  355         {
"buffer_flush_neighbor", 
"buffer",
 
  356          "Number of times neighbors flushing is invoked",
 
  358          MONITOR_FLUSH_NEIGHBOR_COUNT},
 
  360         {
"buffer_flush_neighbor_pages", 
"buffer",
 
  361          "Pages queued as a neighbor batch",
 
  363          MONITOR_FLUSH_NEIGHBOR_PAGES},
 
  365         {
"buffer_flush_n_to_flush_requested", 
"buffer",
 
  366          "Number of pages requested for flushing.",
 
  368          MONITOR_DEFAULT_START, MONITOR_FLUSH_N_TO_FLUSH_REQUESTED},
 
  370         {
"buffer_flush_avg_page_rate", 
"buffer",
 
  371          "Average number of pages at which flushing is happening",
 
  373          MONITOR_DEFAULT_START, MONITOR_FLUSH_AVG_PAGE_RATE},
 
  375         {
"buffer_flush_lsn_avg_rate", 
"buffer",
 
  376          "Average redo generation rate",
 
  378          MONITOR_DEFAULT_START, MONITOR_FLUSH_LSN_AVG_RATE},
 
  380         {
"buffer_flush_pct_for_dirty", 
"buffer",
 
  381          "Percent of IO capacity used to avoid max dirty page limit",
 
  383          MONITOR_DEFAULT_START, MONITOR_FLUSH_PCT_FOR_DIRTY},
 
  385         {
"buffer_flush_pct_for_lsn", 
"buffer",
 
  386          "Percent of IO capacity used to avoid reusable redo space limit",
 
  388          MONITOR_DEFAULT_START, MONITOR_FLUSH_PCT_FOR_LSN},
 
  390         {
"buffer_flush_sync_waits", 
"buffer",
 
  391          "Number of times a wait happens due to sync flushing",
 
  393          MONITOR_DEFAULT_START, MONITOR_FLUSH_SYNC_WAITS},
 
  396         {
"buffer_flush_adaptive_total_pages", 
"buffer",
 
  397          "Total pages flushed as part of adaptive flushing",
 
  399          MONITOR_FLUSH_ADAPTIVE_TOTAL_PAGE},
 
  401         {
"buffer_flush_adaptive", 
"buffer",
 
  402          "Number of adaptive batches",
 
  404          MONITOR_FLUSH_ADAPTIVE_COUNT},
 
  406         {
"buffer_flush_adaptive_pages", 
"buffer",
 
  407          "Pages queued as an adaptive batch",
 
  409          MONITOR_FLUSH_ADAPTIVE_PAGES},
 
  412         {
"buffer_flush_sync_total_pages", 
"buffer",
 
  413          "Total pages flushed as part of sync batches",
 
  415          MONITOR_FLUSH_SYNC_TOTAL_PAGE},
 
  417         {
"buffer_flush_sync", 
"buffer",
 
  418          "Number of sync batches",
 
  420          MONITOR_FLUSH_SYNC_COUNT},
 
  422         {
"buffer_flush_sync_pages", 
"buffer",
 
  423          "Pages queued as a sync batch",
 
  425          MONITOR_FLUSH_SYNC_PAGES},
 
  428         {
"buffer_flush_background_total_pages", 
"buffer",
 
  429          "Total pages flushed as part of background batches",
 
  431          MONITOR_FLUSH_BACKGROUND_TOTAL_PAGE},
 
  433         {
"buffer_flush_background", 
"buffer",
 
  434          "Number of background batches",
 
  436          MONITOR_FLUSH_BACKGROUND_COUNT},
 
  438         {
"buffer_flush_background_pages", 
"buffer",
 
  439          "Pages queued as a background batch",
 
  441          MONITOR_FLUSH_BACKGROUND_PAGES},
 
  444         {
"buffer_LRU_batch_scanned", 
"buffer",
 
  445          "Total pages scanned as part of LRU batch",
 
  447          MONITOR_LRU_BATCH_SCANNED},
 
  449         {
"buffer_LRU_batch_num_scan", 
"buffer",
 
  450          "Number of times LRU batch is called",
 
  452          MONITOR_LRU_BATCH_SCANNED_NUM_CALL},
 
  454         {
"buffer_LRU_batch_scanned_per_call", 
"buffer",
 
  455          "Pages scanned per LRU batch call",
 
  457          MONITOR_LRU_BATCH_SCANNED_PER_CALL},
 
  460         {
"buffer_LRU_batch_total_pages", 
"buffer",
 
  461          "Total pages flushed as part of LRU batches",
 
  463          MONITOR_LRU_BATCH_TOTAL_PAGE},
 
  465         {
"buffer_LRU_batches", 
"buffer",
 
  466          "Number of LRU batches",
 
  468          MONITOR_LRU_BATCH_COUNT},
 
  470         {
"buffer_LRU_batch_pages", 
"buffer",
 
  471          "Pages queued as an LRU batch",
 
  473          MONITOR_LRU_BATCH_PAGES},
 
  476         {
"buffer_LRU_single_flush_scanned", 
"buffer",
 
  477          "Total pages scanned as part of single page LRU flush",
 
  479          MONITOR_LRU_SINGLE_FLUSH_SCANNED_NUM_CALL,
 
  480          MONITOR_LRU_SINGLE_FLUSH_SCANNED},
 
  482         {
"buffer_LRU_single_flush_num_scan", 
"buffer",
 
  483          "Number of times single page LRU flush is called",
 
  485          MONITOR_LRU_SINGLE_FLUSH_SCANNED_NUM_CALL},
 
  487         {
"buffer_LRU_single_flush_scanned_per_call", 
"buffer",
 
  488          "Page scanned per single LRU flush",
 
  490          MONITOR_LRU_SINGLE_FLUSH_SCANNED_PER_CALL},
 
  492         {
"buffer_LRU_single_flush_failure_count", 
"Buffer",
 
  493          "Number of times attempt to flush a single page from LRU failed",
 
  495          MONITOR_DEFAULT_START, MONITOR_LRU_SINGLE_FLUSH_FAILURE_COUNT},
 
  497         {
"buffer_LRU_get_free_search", 
"Buffer",
 
  498          "Number of searches performed for a clean page",
 
  500          MONITOR_DEFAULT_START, MONITOR_LRU_GET_FREE_SEARCH},
 
  503         {
"buffer_LRU_search_scanned", 
"buffer",
 
  504          "Total pages scanned as part of LRU search",
 
  506          MONITOR_LRU_SEARCH_SCANNED_NUM_CALL,
 
  507          MONITOR_LRU_SEARCH_SCANNED},
 
  509         {
"buffer_LRU_search_num_scan", 
"buffer",
 
  510          "Number of times LRU search is performed",
 
  512          MONITOR_LRU_SEARCH_SCANNED_NUM_CALL},
 
  514         {
"buffer_LRU_search_scanned_per_call", 
"buffer",
 
  515          "Page scanned per single LRU search",
 
  517          MONITOR_LRU_SEARCH_SCANNED_PER_CALL},
 
  520         {
"buffer_LRU_unzip_search_scanned", 
"buffer",
 
  521          "Total pages scanned as part of LRU unzip search",
 
  523          MONITOR_LRU_UNZIP_SEARCH_SCANNED_NUM_CALL,
 
  524          MONITOR_LRU_UNZIP_SEARCH_SCANNED},
 
  526         {
"buffer_LRU_unzip_search_num_scan", 
"buffer",
 
  527          "Number of times LRU unzip search is performed",
 
  529          MONITOR_LRU_UNZIP_SEARCH_SCANNED_NUM_CALL},
 
  531         {
"buffer_LRU_unzip_search_scanned_per_call", 
"buffer",
 
  532          "Page scanned per single LRU unzip search",
 
  534          MONITOR_LRU_UNZIP_SEARCH_SCANNED_PER_CALL},
 
  537         {
"module_buffer_page", 
"buffer_page_io", 
"Buffer Page I/O Module",
 
  540          MONITOR_DEFAULT_START, MONITOR_MODULE_BUF_PAGE},
 
  542         MONITOR_BUF_PAGE_READ(
"index_leaf",
"Index Leaf", INDEX_LEAF),
 
  544         MONITOR_BUF_PAGE_READ(
"index_non_leaf",
"Index Non-leaf",
 
  547         MONITOR_BUF_PAGE_READ(
"index_ibuf_leaf", 
"Insert Buffer Index Leaf",
 
  550         MONITOR_BUF_PAGE_READ(
"index_ibuf_non_leaf",
 
  551                               "Insert Buffer Index Non-Leaf",
 
  552                                INDEX_IBUF_NON_LEAF),
 
  554         MONITOR_BUF_PAGE_READ(
"undo_log", 
"Undo Log", UNDO_LOG),
 
  556         MONITOR_BUF_PAGE_READ(
"index_inode", 
"Index Inode", INODE),
 
  558         MONITOR_BUF_PAGE_READ(
"ibuf_free_list", 
"Insert Buffer Free List",
 
  561         MONITOR_BUF_PAGE_READ(
"ibuf_bitmap", 
"Insert Buffer Bitmap",
 
  564         MONITOR_BUF_PAGE_READ(
"system_page", 
"System", SYSTEM),
 
  566         MONITOR_BUF_PAGE_READ(
"trx_system", 
"Transaction System", TRX_SYSTEM),
 
  568         MONITOR_BUF_PAGE_READ(
"fsp_hdr", 
"File Space Header", FSP_HDR),
 
  570         MONITOR_BUF_PAGE_READ(
"xdes", 
"Extent Descriptor", XDES),
 
  572         MONITOR_BUF_PAGE_READ(
"blob", 
"Uncompressed BLOB", BLOB),
 
  574         MONITOR_BUF_PAGE_READ(
"zblob", 
"First Compressed BLOB", ZBLOB),
 
  576         MONITOR_BUF_PAGE_READ(
"zblob2", 
"Subsequent Compressed BLOB", ZBLOB2),
 
  578         MONITOR_BUF_PAGE_READ(
"other", 
"other/unknown (old version of InnoDB)",
 
  581         MONITOR_BUF_PAGE_WRITTEN(
"index_leaf",
"Index Leaf", INDEX_LEAF),
 
  583         MONITOR_BUF_PAGE_WRITTEN(
"index_non_leaf",
"Index Non-leaf",
 
  586         MONITOR_BUF_PAGE_WRITTEN(
"index_ibuf_leaf", 
"Insert Buffer Index Leaf",
 
  589         MONITOR_BUF_PAGE_WRITTEN(
"index_ibuf_non_leaf",
 
  590                                  "Insert Buffer Index Non-Leaf",
 
  591                                  INDEX_IBUF_NON_LEAF),
 
  593         MONITOR_BUF_PAGE_WRITTEN(
"undo_log", 
"Undo Log", UNDO_LOG),
 
  595         MONITOR_BUF_PAGE_WRITTEN(
"index_inode", 
"Index Inode", INODE),
 
  597         MONITOR_BUF_PAGE_WRITTEN(
"ibuf_free_list", 
"Insert Buffer Free List",
 
  600         MONITOR_BUF_PAGE_WRITTEN(
"ibuf_bitmap", 
"Insert Buffer Bitmap",
 
  603         MONITOR_BUF_PAGE_WRITTEN(
"system_page", 
"System", SYSTEM),
 
  605         MONITOR_BUF_PAGE_WRITTEN(
"trx_system", 
"Transaction System",
 
  608         MONITOR_BUF_PAGE_WRITTEN(
"fsp_hdr", 
"File Space Header", FSP_HDR),
 
  610         MONITOR_BUF_PAGE_WRITTEN(
"xdes", 
"Extent Descriptor", XDES),
 
  612         MONITOR_BUF_PAGE_WRITTEN(
"blob", 
"Uncompressed BLOB", BLOB),
 
  614         MONITOR_BUF_PAGE_WRITTEN(
"zblob", 
"First Compressed BLOB", ZBLOB),
 
  616         MONITOR_BUF_PAGE_WRITTEN(
"zblob2", 
"Subsequent Compressed BLOB",
 
  619         MONITOR_BUF_PAGE_WRITTEN(
"other", 
"other/unknown (old version InnoDB)",
 
  623         {
"module_os", 
"os", 
"OS Level Operation",
 
  625          MONITOR_DEFAULT_START, MONITOR_MODULE_OS},
 
  627         {
"os_data_reads", 
"os",
 
  628          "Number of reads initiated (innodb_data_reads)",
 
  631          MONITOR_DEFAULT_START, MONITOR_OVLD_OS_FILE_READ},
 
  633         {
"os_data_writes", 
"os",
 
  634          "Number of writes initiated (innodb_data_writes)",
 
  637          MONITOR_DEFAULT_START, MONITOR_OVLD_OS_FILE_WRITE},
 
  639         {
"os_data_fsyncs", 
"os",
 
  640          "Number of fsync() calls (innodb_data_fsyncs)",
 
  643          MONITOR_DEFAULT_START, MONITOR_OVLD_OS_FSYNC},
 
  645         {
"os_pending_reads", 
"os", 
"Number of reads pending",
 
  647          MONITOR_DEFAULT_START, MONITOR_OS_PENDING_READS},
 
  649         {
"os_pending_writes", 
"os", 
"Number of writes pending",
 
  651          MONITOR_DEFAULT_START, MONITOR_OS_PENDING_WRITES},
 
  653         {
"os_log_bytes_written", 
"os",
 
  654          "Bytes of log written (innodb_os_log_written)",
 
  657          MONITOR_DEFAULT_START, MONITOR_OVLD_OS_LOG_WRITTEN},
 
  659         {
"os_log_fsyncs", 
"os",
 
  660          "Number of fsync log writes (innodb_os_log_fsyncs)",
 
  663          MONITOR_DEFAULT_START, MONITOR_OVLD_OS_LOG_FSYNC},
 
  665         {
"os_log_pending_fsyncs", 
"os",
 
  666          "Number of pending fsync write (innodb_os_log_pending_fsyncs)",
 
  669          MONITOR_DEFAULT_START, MONITOR_OVLD_OS_LOG_PENDING_FSYNC},
 
  671         {
"os_log_pending_writes", 
"os",
 
  672          "Number of pending log file writes (innodb_os_log_pending_writes)",
 
  675          MONITOR_DEFAULT_START, MONITOR_OVLD_OS_LOG_PENDING_WRITES},
 
  678         {
"module_trx", 
"transaction", 
"Transaction Manager",
 
  680          MONITOR_DEFAULT_START, MONITOR_MODULE_TRX},
 
  682         {
"trx_rw_commits", 
"transaction", 
"Number of read-write transactions " 
  684          MONITOR_NONE, MONITOR_DEFAULT_START, MONITOR_TRX_RW_COMMIT},
 
  686         {
"trx_ro_commits", 
"transaction", 
"Number of read-only transactions " 
  688          MONITOR_NONE, MONITOR_DEFAULT_START, MONITOR_TRX_RO_COMMIT},
 
  690         {
"trx_nl_ro_commits", 
"transaction", 
"Number of non-locking " 
  691          "auto-commit read-only transactions committed",
 
  692          MONITOR_NONE, MONITOR_DEFAULT_START, MONITOR_TRX_NL_RO_COMMIT},
 
  694         {
"trx_commits_insert_update", 
"transaction",
 
  695          "Number of transactions committed with inserts and updates",
 
  697          MONITOR_DEFAULT_START, MONITOR_TRX_COMMIT_UNDO},
 
  699         {
"trx_rollbacks", 
"transaction",
 
  700          "Number of transactions rolled back",
 
  702          MONITOR_DEFAULT_START, MONITOR_TRX_ROLLBACK},
 
  704         {
"trx_rollbacks_savepoint", 
"transaction",
 
  705          "Number of transactions rolled back to savepoint",
 
  707          MONITOR_DEFAULT_START, MONITOR_TRX_ROLLBACK_SAVEPOINT},
 
  709         {
"trx_rollback_active", 
"transaction",
 
  710          "Number of resurrected active transactions rolled back",
 
  712          MONITOR_DEFAULT_START, MONITOR_TRX_ROLLBACK_ACTIVE},
 
  714         {
"trx_active_transactions", 
"transaction",
 
  715          "Number of active transactions",
 
  717          MONITOR_DEFAULT_START, MONITOR_TRX_ACTIVE},
 
  719         {
"trx_rseg_history_len", 
"transaction",
 
  720          "Length of the TRX_RSEG_HISTORY list",
 
  723          MONITOR_DEFAULT_START, MONITOR_RSEG_HISTORY_LEN},
 
  725         {
"trx_undo_slots_used", 
"transaction", 
"Number of undo slots used",
 
  727          MONITOR_DEFAULT_START, MONITOR_NUM_UNDO_SLOT_USED},
 
  729         {
"trx_undo_slots_cached", 
"transaction",
 
  730          "Number of undo slots cached",
 
  732          MONITOR_DEFAULT_START, MONITOR_NUM_UNDO_SLOT_CACHED},
 
  734         {
"trx_rseg_current_size", 
"transaction",
 
  735          "Current rollback segment size in pages",
 
  738          MONITOR_DEFAULT_START, MONITOR_RSEG_CUR_SIZE},
 
  741         {
"module_purge", 
"purge", 
"Purge Module",
 
  743          MONITOR_DEFAULT_START, MONITOR_MODULE_PURGE},
 
  745         {
"purge_del_mark_records", 
"purge",
 
  746          "Number of delete-marked rows purged",
 
  748          MONITOR_DEFAULT_START, MONITOR_N_DEL_ROW_PURGE},
 
  750         {
"purge_upd_exist_or_extern_records", 
"purge",
 
  751          "Number of purges on updates of existing records and " 
  752          " updates on delete marked record with externally stored field",
 
  754          MONITOR_DEFAULT_START, MONITOR_N_UPD_EXIST_EXTERN},
 
  756         {
"purge_invoked", 
"purge",
 
  757          "Number of times purge was invoked",
 
  759          MONITOR_DEFAULT_START, MONITOR_PURGE_INVOKED},
 
  761         {
"purge_undo_log_pages", 
"purge",
 
  762          "Number of undo log pages handled by the purge",
 
  764          MONITOR_DEFAULT_START, MONITOR_PURGE_N_PAGE_HANDLED},
 
  766         {
"purge_dml_delay_usec", 
"purge",
 
  767          "Microseconds DML to be delayed due to purge lagging",
 
  769          MONITOR_DEFAULT_START, MONITOR_DML_PURGE_DELAY},
 
  771         {
"purge_stop_count", 
"purge",
 
  772          "Number of times purge was stopped",
 
  774          MONITOR_DEFAULT_START, MONITOR_PURGE_STOP_COUNT},
 
  776         {
"purge_resume_count", 
"purge",
 
  777          "Number of times purge was resumed",
 
  779          MONITOR_DEFAULT_START, MONITOR_PURGE_RESUME_COUNT},
 
  782         {
"module_log", 
"recovery", 
"Recovery Module",
 
  784          MONITOR_DEFAULT_START, MONITOR_MODULE_RECOVERY},
 
  786         {
"log_checkpoints", 
"recovery", 
"Number of checkpoints",
 
  788          MONITOR_DEFAULT_START, MONITOR_NUM_CHECKPOINT},
 
  790         {
"log_lsn_last_flush", 
"recovery", 
"LSN of Last flush",
 
  793          MONITOR_DEFAULT_START, MONITOR_OVLD_LSN_FLUSHDISK},
 
  795         {
"log_lsn_last_checkpoint", 
"recovery", 
"LSN at last checkpoint",
 
  798          MONITOR_DEFAULT_START, MONITOR_OVLD_LSN_CHECKPOINT},
 
  800         {
"log_lsn_current", 
"recovery", 
"Current LSN value",
 
  803          MONITOR_DEFAULT_START, MONITOR_OVLD_LSN_CURRENT},
 
  805         {
"log_lsn_checkpoint_age", 
"recovery",
 
  806          "Current LSN value minus LSN at last checkpoint",
 
  808          MONITOR_DEFAULT_START, MONITOR_LSN_CHECKPOINT_AGE},
 
  810         {
"log_lsn_buf_pool_oldest", 
"recovery",
 
  811          "The oldest modified block LSN in the buffer pool",
 
  814          MONITOR_DEFAULT_START, MONITOR_OVLD_BUF_OLDEST_LSN},
 
  816         {
"log_max_modified_age_async", 
"recovery",
 
  817          "Maximum LSN difference; when exceeded, start asynchronous preflush",
 
  820          MONITOR_DEFAULT_START, MONITOR_OVLD_MAX_AGE_ASYNC},
 
  822         {
"log_max_modified_age_sync", 
"recovery",
 
  823          "Maximum LSN difference; when exceeded, start synchronous preflush",
 
  826          MONITOR_DEFAULT_START, MONITOR_OVLD_MAX_AGE_SYNC},
 
  828         {
"log_pending_log_writes", 
"recovery", 
"Pending log writes",
 
  830          MONITOR_DEFAULT_START, MONITOR_PENDING_LOG_WRITE},
 
  832         {
"log_pending_checkpoint_writes", 
"recovery", 
"Pending checkpoints",
 
  834          MONITOR_DEFAULT_START, MONITOR_PENDING_CHECKPOINT_WRITE},
 
  836         {
"log_num_log_io", 
"recovery", 
"Number of log I/Os",
 
  838          MONITOR_DEFAULT_START, MONITOR_LOG_IO},
 
  840         {
"log_waits", 
"recovery",
 
  841          "Number of log waits due to small log buffer (innodb_log_waits)",
 
  844          MONITOR_DEFAULT_START, MONITOR_OVLD_LOG_WAITS},
 
  846         {
"log_write_requests", 
"recovery",
 
  847          "Number of log write requests (innodb_log_write_requests)",
 
  850          MONITOR_DEFAULT_START, MONITOR_OVLD_LOG_WRITE_REQUEST},
 
  852         {
"log_writes", 
"recovery",
 
  853          "Number of log writes (innodb_log_writes)",
 
  856          MONITOR_DEFAULT_START, MONITOR_OVLD_LOG_WRITES},
 
  859         {
"module_compress", 
"compression", 
"Page Compression Info",
 
  861          MONITOR_DEFAULT_START, MONITOR_MODULE_PAGE},
 
  863         {
"compress_pages_compressed", 
"compression",
 
  865          MONITOR_DEFAULT_START, MONITOR_PAGE_COMPRESS},
 
  867         {
"compress_pages_decompressed", 
"compression",
 
  868          "Number of pages decompressed",
 
  870          MONITOR_DEFAULT_START, MONITOR_PAGE_DECOMPRESS},
 
  872         {
"compression_pad_increments", 
"compression",
 
  873          "Number of times padding is incremented to avoid compression failures",
 
  875          MONITOR_DEFAULT_START, MONITOR_PAD_INCREMENTS},
 
  877         {
"compression_pad_decrements", 
"compression",
 
  878          "Number of times padding is decremented due to good compressibility",
 
  880          MONITOR_DEFAULT_START, MONITOR_PAD_DECREMENTS},
 
  883         {
"module_index", 
"index", 
"Index Manager",
 
  885          MONITOR_DEFAULT_START, MONITOR_MODULE_INDEX},
 
  887         {
"index_splits", 
"index", 
"Number of index splits",
 
  889          MONITOR_DEFAULT_START, MONITOR_INDEX_SPLIT},
 
  891         {
"index_merges", 
"index", 
"Number of index merges",
 
  893          MONITOR_DEFAULT_START, MONITOR_INDEX_MERGE},
 
  896         {
"module_adaptive_hash", 
"adaptive_hash_index", 
"Adpative Hash Index",
 
  898          MONITOR_DEFAULT_START, MONITOR_MODULE_ADAPTIVE_HASH},
 
  900         {
"adaptive_hash_searches", 
"adaptive_hash_index",
 
  901          "Number of successful searches using Adaptive Hash Index",
 
  904          MONITOR_DEFAULT_START, MONITOR_OVLD_ADAPTIVE_HASH_SEARCH},
 
  906         {
"adaptive_hash_searches_btree", 
"adaptive_hash_index",
 
  907          "Number of searches using B-tree on an index search",
 
  909          MONITOR_DEFAULT_START, MONITOR_OVLD_ADAPTIVE_HASH_SEARCH_BTREE},
 
  911         {
"adaptive_hash_pages_added", 
"adaptive_hash_index",
 
  912          "Number of index pages on which the Adaptive Hash Index is built",
 
  914          MONITOR_DEFAULT_START, MONITOR_ADAPTIVE_HASH_PAGE_ADDED},
 
  916         {
"adaptive_hash_pages_removed", 
"adaptive_hash_index",
 
  917          "Number of index pages whose corresponding Adaptive Hash Index" 
  918          " entries were removed",
 
  920          MONITOR_DEFAULT_START, MONITOR_ADAPTIVE_HASH_PAGE_REMOVED},
 
  922         {
"adaptive_hash_rows_added", 
"adaptive_hash_index",
 
  923          "Number of Adaptive Hash Index rows added",
 
  925          MONITOR_DEFAULT_START, MONITOR_ADAPTIVE_HASH_ROW_ADDED},
 
  927         {
"adaptive_hash_rows_removed", 
"adaptive_hash_index",
 
  928          "Number of Adaptive Hash Index rows removed",
 
  930          MONITOR_DEFAULT_START, MONITOR_ADAPTIVE_HASH_ROW_REMOVED},
 
  932         {
"adaptive_hash_rows_deleted_no_hash_entry", 
"adaptive_hash_index",
 
  933          "Number of rows deleted that did not have corresponding Adaptive Hash" 
  936          MONITOR_DEFAULT_START, MONITOR_ADAPTIVE_HASH_ROW_REMOVE_NOT_FOUND},
 
  938         {
"adaptive_hash_rows_updated", 
"adaptive_hash_index",
 
  939          "Number of Adaptive Hash Index rows updated",
 
  941          MONITOR_DEFAULT_START, MONITOR_ADAPTIVE_HASH_ROW_UPDATED},
 
  944         {
"module_file", 
"file_system", 
"Tablespace and File System Manager",
 
  946          MONITOR_DEFAULT_START, MONITOR_MODULE_FIL_SYSTEM},
 
  948         {
"file_num_open_files", 
"file_system",
 
  949          "Number of files currently open (innodb_num_open_files)",
 
  952          MONITOR_DEFAULT_START, MONITOR_OVLD_N_FILE_OPENED},
 
  955         {
"module_ibuf_system", 
"change_buffer", 
"InnoDB Change Buffer",
 
  957          MONITOR_DEFAULT_START, MONITOR_MODULE_IBUF_SYSTEM},
 
  959         {
"ibuf_merges_insert", 
"change_buffer",
 
  960          "Number of inserted records merged by change buffering",
 
  963          MONITOR_DEFAULT_START, MONITOR_OVLD_IBUF_MERGE_INSERT},
 
  965         {
"ibuf_merges_delete_mark", 
"change_buffer",
 
  966          "Number of deleted records merged by change buffering",
 
  969          MONITOR_DEFAULT_START, MONITOR_OVLD_IBUF_MERGE_DELETE},
 
  971         {
"ibuf_merges_delete", 
"change_buffer",
 
  972          "Number of purge records merged by change buffering",
 
  975          MONITOR_DEFAULT_START, MONITOR_OVLD_IBUF_MERGE_PURGE},
 
  977         {
"ibuf_merges_discard_insert", 
"change_buffer",
 
  978          "Number of insert merged operations discarded",
 
  981          MONITOR_DEFAULT_START, MONITOR_OVLD_IBUF_MERGE_DISCARD_INSERT},
 
  983         {
"ibuf_merges_discard_delete_mark", 
"change_buffer",
 
  984          "Number of deleted merged operations discarded",
 
  987          MONITOR_DEFAULT_START, MONITOR_OVLD_IBUF_MERGE_DISCARD_DELETE},
 
  989         {
"ibuf_merges_discard_delete", 
"change_buffer",
 
  990          "Number of purge merged  operations discarded",
 
  993          MONITOR_DEFAULT_START, MONITOR_OVLD_IBUF_MERGE_DISCARD_PURGE},
 
  995         {
"ibuf_merges", 
"change_buffer", 
"Number of change buffer merges",
 
  998          MONITOR_DEFAULT_START, MONITOR_OVLD_IBUF_MERGES},
 
 1000         {
"ibuf_size", 
"change_buffer", 
"Change buffer size in pages",
 
 1003          MONITOR_DEFAULT_START, MONITOR_OVLD_IBUF_SIZE},
 
 1006         {
"module_innodb", 
"innodb",
 
 1007          "Counter for general InnoDB server wide operations and properties",
 
 1009          MONITOR_DEFAULT_START, MONITOR_MODULE_SERVER},
 
 1011         {
"innodb_master_thread_sleeps", 
"server",
 
 1012          "Number of times (seconds) master thread sleeps",
 
 1014          MONITOR_DEFAULT_START, MONITOR_MASTER_THREAD_SLEEP},
 
 1016         {
"innodb_activity_count", 
"server", 
"Current server activity count",
 
 1019          MONITOR_DEFAULT_START, MONITOR_OVLD_SERVER_ACTIVITY},
 
 1021         {
"innodb_master_active_loops", 
"server",
 
 1022          "Number of times master thread performs its tasks when" 
 1023          " server is active",
 
 1025          MONITOR_DEFAULT_START, MONITOR_MASTER_ACTIVE_LOOPS},
 
 1027         {
"innodb_master_idle_loops", 
"server",
 
 1028          "Number of times master thread performs its tasks when server is idle",
 
 1030          MONITOR_DEFAULT_START, MONITOR_MASTER_IDLE_LOOPS},
 
 1032         {
"innodb_background_drop_table_usec", 
"server",
 
 1033          "Time (in microseconds) spent to process drop table list",
 
 1035          MONITOR_DEFAULT_START, MONITOR_SRV_BACKGROUND_DROP_TABLE_MICROSECOND},
 
 1037         {
"innodb_ibuf_merge_usec", 
"server",
 
 1038          "Time (in microseconds) spent to process change buffer merge",
 
 1040          MONITOR_DEFAULT_START, MONITOR_SRV_IBUF_MERGE_MICROSECOND},
 
 1042         {
"innodb_log_flush_usec", 
"server",
 
 1043          "Time (in microseconds) spent to flush log records",
 
 1045          MONITOR_DEFAULT_START, MONITOR_SRV_LOG_FLUSH_MICROSECOND},
 
 1047         {
"innodb_mem_validate_usec", 
"server",
 
 1048          "Time (in microseconds) spent to do memory validation",
 
 1050          MONITOR_DEFAULT_START, MONITOR_SRV_MEM_VALIDATE_MICROSECOND},
 
 1052         {
"innodb_master_purge_usec", 
"server",
 
 1053          "Time (in microseconds) spent by master thread to purge records",
 
 1055          MONITOR_DEFAULT_START, MONITOR_SRV_PURGE_MICROSECOND},
 
 1057         {
"innodb_dict_lru_usec", 
"server",
 
 1058          "Time (in microseconds) spent to process DICT LRU list",
 
 1060          MONITOR_DEFAULT_START, MONITOR_SRV_DICT_LRU_MICROSECOND},
 
 1062         {
"innodb_checkpoint_usec", 
"server",
 
 1063          "Time (in microseconds) spent by master thread to do checkpoint",
 
 1065          MONITOR_DEFAULT_START, MONITOR_SRV_CHECKPOINT_MICROSECOND},
 
 1067         {
"innodb_dblwr_writes", 
"server",
 
 1068          "Number of doublewrite operations that have been performed" 
 1069          " (innodb_dblwr_writes)",
 
 1072          MONITOR_DEFAULT_START, MONITOR_OVLD_SRV_DBLWR_WRITES},
 
 1074         {
"innodb_dblwr_pages_written", 
"server",
 
 1075          "Number of pages that have been written for doublewrite operations" 
 1076          " (innodb_dblwr_pages_written)",
 
 1079          MONITOR_DEFAULT_START, MONITOR_OVLD_SRV_DBLWR_PAGES_WRITTEN},
 
 1081         {
"innodb_page_size", 
"server",
 
 1082          "InnoDB page size in bytes (innodb_page_size)",
 
 1085          MONITOR_DEFAULT_START, MONITOR_OVLD_SRV_PAGE_SIZE},
 
 1087         {
"innodb_rwlock_s_spin_waits", 
"server",
 
 1088          "Number of rwlock spin waits due to shared latch request",
 
 1091          MONITOR_DEFAULT_START, MONITOR_OVLD_RWLOCK_S_SPIN_WAITS},
 
 1093         {
"innodb_rwlock_x_spin_waits", 
"server",
 
 1094          "Number of rwlock spin waits due to exclusive latch request",
 
 1097          MONITOR_DEFAULT_START, MONITOR_OVLD_RWLOCK_X_SPIN_WAITS},
 
 1099         {
"innodb_rwlock_s_spin_rounds", 
"server",
 
 1100          "Number of rwlock spin loop rounds due to shared latch request",
 
 1103          MONITOR_DEFAULT_START, MONITOR_OVLD_RWLOCK_S_SPIN_ROUNDS},
 
 1105         {
"innodb_rwlock_x_spin_rounds", 
"server",
 
 1106          "Number of rwlock spin loop rounds due to exclusive latch request",
 
 1109          MONITOR_DEFAULT_START, MONITOR_OVLD_RWLOCK_X_SPIN_ROUNDS},
 
 1111         {
"innodb_rwlock_s_os_waits", 
"server",
 
 1112          "Number of OS waits due to shared latch request",
 
 1115          MONITOR_DEFAULT_START, MONITOR_OVLD_RWLOCK_S_OS_WAITS},
 
 1117         {
"innodb_rwlock_x_os_waits", 
"server",
 
 1118          "Number of OS waits due to exclusive latch request",
 
 1121          MONITOR_DEFAULT_START, MONITOR_OVLD_RWLOCK_X_OS_WAITS},
 
 1124         {
"module_dml", 
"dml", 
"Statistics for DMLs",
 
 1126          MONITOR_DEFAULT_START, MONITOR_MODULE_DML_STATS},
 
 1128         {
"dml_reads", 
"dml", 
"Number of rows read",
 
 1131          MONITOR_DEFAULT_START, MONITOR_OLVD_ROW_READ},
 
 1133         {
"dml_inserts", 
"dml", 
"Number of rows inserted",
 
 1136          MONITOR_DEFAULT_START, MONITOR_OLVD_ROW_INSERTED},
 
 1138         {
"dml_deletes", 
"dml", 
"Number of rows deleted",
 
 1141          MONITOR_DEFAULT_START, MONITOR_OLVD_ROW_DELETED},
 
 1143         {
"dml_updates", 
"dml", 
"Number of rows updated",
 
 1146          MONITOR_DEFAULT_START, MONITOR_OLVD_ROW_UPDTATED},
 
 1149         {
"module_ddl", 
"ddl", 
"Statistics for DDLs",
 
 1151          MONITOR_DEFAULT_START, MONITOR_MODULE_DDL_STATS},
 
 1153         {
"ddl_background_drop_indexes", 
"ddl",
 
 1154          "Number of indexes waiting to be dropped after failed index creation",
 
 1156          MONITOR_DEFAULT_START, MONITOR_BACKGROUND_DROP_INDEX},
 
 1158         {
"ddl_background_drop_tables", 
"ddl",
 
 1159          "Number of tables in background drop table list",
 
 1161          MONITOR_DEFAULT_START, MONITOR_BACKGROUND_DROP_TABLE},
 
 1163         {
"ddl_online_create_index", 
"ddl",
 
 1164          "Number of indexes being created online",
 
 1166          MONITOR_DEFAULT_START, MONITOR_ONLINE_CREATE_INDEX},
 
 1168         {
"ddl_pending_alter_table", 
"ddl",
 
 1169          "Number of ALTER TABLE, CREATE INDEX, DROP INDEX in progress",
 
 1171          MONITOR_DEFAULT_START, MONITOR_PENDING_ALTER_TABLE},
 
 1174         {
"module_icp", 
"icp", 
"Index Condition Pushdown",
 
 1176          MONITOR_DEFAULT_START, MONITOR_MODULE_ICP},
 
 1178         {
"icp_attempts", 
"icp",
 
 1179          "Number of attempts for index push-down condition checks",
 
 1181          MONITOR_DEFAULT_START, MONITOR_ICP_ATTEMPTS},
 
 1183         {
"icp_no_match", 
"icp", 
"Index push-down condition does not match",
 
 1185          MONITOR_DEFAULT_START, MONITOR_ICP_NO_MATCH},
 
 1187         {
"icp_out_of_range", 
"icp", 
"Index push-down condition out of range",
 
 1189          MONITOR_DEFAULT_START, MONITOR_ICP_OUT_OF_RANGE},
 
 1191         {
"icp_match", 
"icp", 
"Index push-down condition matches",
 
 1193          MONITOR_DEFAULT_START, MONITOR_ICP_MATCH},
 
 1196         {
"all", 
"All Counters", 
"Turn on/off and reset all counters",
 
 1198          MONITOR_DEFAULT_START, MONITOR_ALL_COUNTER}
 
 1209 #ifndef HAVE_ATOMIC_BUILTINS_64 
 1224         mutex_create(monitor_mutex_key, &monitor_mutex, SYNC_ANY_LATCH);
 
 1233         mutex_free(&monitor_mutex);
 
 1249         ut_a(monitor_id < NUM_MONITOR);
 
 1251         return((monitor_id < NUM_MONITOR)
 
 1252                         ? &innodb_counter_info[monitor_id]
 
 1268         ut_a(monitor_id < NUM_MONITOR);
 
 1270         return((monitor_id < NUM_MONITOR)
 
 1271                         ? innodb_counter_info[monitor_id].monitor_name
 
 1292         ibool   set_current_module = FALSE;
 
 1294         ut_a(module_id <= NUM_MONITOR);
 
 1295         ut_a(UT_ARR_SIZE(innodb_counter_info) == NUM_MONITOR);
 
 1303         if (module_id == MONITOR_ALL_COUNTER) {
 
 1305         } 
else if (innodb_counter_info[module_id].monitor_type
 
 1310                 start_id = module_id;
 
 1311                 set_current_module = TRUE;
 
 1314                 start_id = module_id + 1;
 
 1317         for (ix = start_id; ix < NUM_MONITOR; ix++) {
 
 1322                 if (innodb_counter_info[ix].monitor_type & MONITOR_MODULE) {
 
 1324                         if (set_current_module) {
 
 1327                                 set_current_module = FALSE;
 
 1328                         } 
else if (module_id == MONITOR_ALL_COUNTER) {
 
 1340                         fprintf(stderr, 
"Monitor '%s' is already enabled.\n",
 
 1350                                 static_cast<monitor_id_t>(ix), set_option);
 
 1355                 switch (set_option) {
 
 1359                         MONITOR_SET_START(ix);
 
 1364                         MONITOR_SET_OFF(ix);
 
 1386 srv_mon_get_rseg_size(
void)
 
 1396         for (i = 0; i < TRX_SYS_N_RSEGS; ++
i) {
 
 1400                         value += rseg->curr_size;
 
 1427         ibool                   update_min = FALSE;
 
 1432         ulint                   flush_list_len;
 
 1437         ut_a(monitor_id < NUM_MONITOR);
 
 1440         switch (monitor_id) {
 
 1441         case MONITOR_OVLD_META_MEM_POOL:
 
 1442                 value = srv_mem_pool_size;
 
 1447         case MONITOR_OVLD_BUF_POOL_READS:
 
 1453         case MONITOR_OVLD_BUF_POOL_READ_REQUESTS:
 
 1460         case MONITOR_OVLD_BUF_POOL_WRITE_REQUEST:
 
 1465         case MONITOR_OVLD_BUF_POOL_WAIT_FREE:
 
 1470         case MONITOR_OVLD_BUF_POOL_READ_AHEAD:
 
 1476         case MONITOR_OVLD_BUF_POOL_READ_AHEAD_EVICTED:
 
 1482         case MONITOR_OVLD_BUF_POOL_PAGE_TOTAL:
 
 1487         case MONITOR_OVLD_BUF_POOL_PAGE_MISC:
 
 1493         case MONITOR_OVLD_BUF_POOL_PAGES_DATA:
 
 1499         case MONITOR_OVLD_BUF_POOL_BYTES_DATA:
 
 1506         case MONITOR_OVLD_BUF_POOL_PAGES_DIRTY:
 
 1508                 value = flush_list_len;
 
 1512         case MONITOR_OVLD_BUF_POOL_BYTES_DIRTY:
 
 1518         case MONITOR_OVLD_BUF_POOL_PAGES_FREE:
 
 1524         case MONITOR_OVLD_PAGE_CREATED:
 
 1530         case MONITOR_OVLD_PAGES_WRITTEN:
 
 1536         case MONITOR_OVLD_PAGES_READ:
 
 1542         case MONITOR_OVLD_BYTE_READ:
 
 1547         case MONITOR_OVLD_BYTE_WRITTEN:
 
 1552         case MONITOR_OVLD_OS_FILE_READ:
 
 1553                 value = os_n_file_reads;
 
 1557         case MONITOR_OVLD_OS_FILE_WRITE:
 
 1558                 value = os_n_file_writes;
 
 1562         case MONITOR_OVLD_OS_FSYNC:
 
 1563                 value = os_n_fsyncs;
 
 1567         case MONITOR_OVLD_OS_LOG_WRITTEN:
 
 1572         case MONITOR_OVLD_OS_LOG_FSYNC:
 
 1577         case MONITOR_OVLD_OS_LOG_PENDING_FSYNC:
 
 1583         case MONITOR_OVLD_OS_LOG_PENDING_WRITES:
 
 1589         case MONITOR_OVLD_LOG_WAITS:
 
 1594         case MONITOR_OVLD_LOG_WRITE_REQUEST:
 
 1599         case MONITOR_OVLD_LOG_WRITES:
 
 1604         case MONITOR_OVLD_SRV_DBLWR_WRITES:
 
 1609         case MONITOR_OVLD_SRV_DBLWR_PAGES_WRITTEN:
 
 1614         case MONITOR_OVLD_SRV_PAGE_SIZE:
 
 1615                 value = UNIV_PAGE_SIZE;
 
 1618         case MONITOR_OVLD_RWLOCK_S_SPIN_WAITS:
 
 1622         case MONITOR_OVLD_RWLOCK_X_SPIN_WAITS:
 
 1626         case MONITOR_OVLD_RWLOCK_S_SPIN_ROUNDS:
 
 1630         case MONITOR_OVLD_RWLOCK_X_SPIN_ROUNDS:
 
 1634         case MONITOR_OVLD_RWLOCK_S_OS_WAITS:
 
 1638         case MONITOR_OVLD_RWLOCK_X_OS_WAITS:
 
 1642         case MONITOR_OVLD_BUFFER_POOL_SIZE:
 
 1647         case MONITOR_OLVD_ROW_READ:
 
 1652         case MONITOR_OLVD_ROW_INSERTED:
 
 1657         case MONITOR_OLVD_ROW_DELETED:
 
 1662         case MONITOR_OLVD_ROW_UPDTATED:
 
 1667         case MONITOR_OVLD_ROW_LOCK_CURRENT_WAIT:
 
 1672         case MONITOR_OVLD_LOCK_WAIT_TIME:
 
 1677         case MONITOR_OVLD_LOCK_MAX_WAIT_TIME:
 
 1682         case MONITOR_OVLD_LOCK_AVG_WAIT_TIME:
 
 1692         case MONITOR_OVLD_ROW_LOCK_WAIT:
 
 1696         case MONITOR_RSEG_HISTORY_LEN:
 
 1700         case MONITOR_RSEG_CUR_SIZE:
 
 1701                 value = srv_mon_get_rseg_size();
 
 1704         case MONITOR_OVLD_N_FILE_OPENED:
 
 1708         case MONITOR_OVLD_IBUF_MERGE_INSERT:
 
 1709                 value = 
ibuf->n_merged_ops[IBUF_OP_INSERT];
 
 1712         case MONITOR_OVLD_IBUF_MERGE_DELETE:
 
 1713                 value = 
ibuf->n_merged_ops[IBUF_OP_DELETE_MARK];
 
 1716         case MONITOR_OVLD_IBUF_MERGE_PURGE:
 
 1717                 value = 
ibuf->n_merged_ops[IBUF_OP_DELETE];
 
 1720         case MONITOR_OVLD_IBUF_MERGE_DISCARD_INSERT:
 
 1721                 value = 
ibuf->n_discarded_ops[IBUF_OP_INSERT];
 
 1724         case MONITOR_OVLD_IBUF_MERGE_DISCARD_DELETE:
 
 1725                 value = 
ibuf->n_discarded_ops[IBUF_OP_DELETE_MARK];
 
 1728         case MONITOR_OVLD_IBUF_MERGE_DISCARD_PURGE:
 
 1729                 value = 
ibuf->n_discarded_ops[IBUF_OP_DELETE];
 
 1732         case MONITOR_OVLD_IBUF_MERGES:
 
 1733                 value = 
ibuf->n_merges;
 
 1736         case MONITOR_OVLD_IBUF_SIZE:
 
 1740         case MONITOR_OVLD_SERVER_ACTIVITY:
 
 1744         case MONITOR_OVLD_LSN_FLUSHDISK:
 
 1748         case MONITOR_OVLD_LSN_CURRENT:
 
 1752         case MONITOR_OVLD_BUF_OLDEST_LSN:
 
 1756         case MONITOR_OVLD_LSN_CHECKPOINT:
 
 1760         case MONITOR_OVLD_MAX_AGE_ASYNC:
 
 1764         case MONITOR_OVLD_MAX_AGE_SYNC:
 
 1768         case MONITOR_OVLD_ADAPTIVE_HASH_SEARCH:
 
 1772         case MONITOR_OVLD_ADAPTIVE_HASH_SEARCH_BTREE:
 
 1780         switch (set_option) {
 
 1820                                     && (MONITOR_VALUE(monitor_id)
 
 1821                                         < MONITOR_MIN_VALUE(monitor_id))) {
 
 1822                                         MONITOR_MIN_VALUE(monitor_id) =
 
 1823                                                 MONITOR_VALUE(monitor_id);
 
 1831                         MONITOR_LAST_VALUE(monitor_id) = 0;
 
 1851         ibool   monitor_was_on;
 
 1855         if (monitor_was_on) {
 
 1858                 MONITOR_OFF(monitor);
 
 1870         if (innodb_counter_info[monitor].monitor_type
 
 1872                 MONITOR_VALUE_RESET(monitor) = 0;
 
 1875                 MONITOR_VALUE_RESET(monitor) = MONITOR_VALUE_RESET(monitor)
 
 1876                                                + MONITOR_VALUE(monitor);
 
 1880         MONITOR_VALUE(monitor) = 0;
 
 1881         MONITOR_MAX_VALUE(monitor) = MAX_RESERVED;
 
 1886         if (monitor_was_on) {
 
 1900         for (ix = 0; ix < NUM_MONITOR; ix++) {
 
 1901                 if (innodb_counter_info[ix].monitor_type
 
 1906                         MONITOR_SET_START(ix);