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);