innodb
The innodb
domain includes InnoDB metrics from INFORMATION_SCHEMA.INNODB_METRICS
.
For example:
mysql> SELECT * FROM innodb_metrics WHERE name='trx_rseg_history_len' LIMIT 1\G
*************************** 1. row ***************************
NAME: trx_rseg_history_len
SUBSYSTEM: transaction
COUNT: 0
MAX_COUNT: 0
MIN_COUNT: 0
AVG_COUNT: NULL
COUNT_RESET: 0
MAX_COUNT_RESET: 0
MIN_COUNT_RESET: 0
AVG_COUNT_RESET: NULL
TIME_ENABLED: 2021-08-17 08:24:14
TIME_DISABLED: NULL
TIME_ELAPSED: 1905927
TIME_RESET: NULL
STATUS: enabled
TYPE: value
COMMENT: Length of the TRX_RSEG_HISTORY list
The exact NAME
value is used for the Blip metric name.
In the example above, the Blip metric name is trx_rseg_history_len
, even though this metric means history list length (HLL).
Metric names are unique by SUBSYSTEM
.
The status.global
domain includes many of the same metrics because, historically, only SHOW GLOBAL STATUS
existed.
It’s a best practice to collect InnoDB metrics with this domain and exclude them from status.global
.
As a starting point, these are good InnoDB metrics to collect:
plan:
collect:
innodb:
metrics:
# Transactions
- "trx_active_transactions"
# Row locking
- "lock_timeouts"
- "lock_row_lock_current_waits"
- "lock_row_lock_waits"
- "lock_row_lock_time"
# Page flushing
- "buffer_flush_adaptive_total_pages" # adaptive flushing
- "buffer_LRU_batch_flush_total_pages" # LRU flushing
- "buffer_flush_background_total_pages" # legacy flushing
# Transaction log utilization (%)
- "log_lsn_checkpoint_age" # checkpoint age
- "log_max_modified_age_async" # async flush point
# Transaction log -> storage waits
- "innodb_os_log_pending_writes"
- "innodb_log_waits"
# History List Length (HLL)
- "trx_rseg_history_len"
# Deadlocks
- "lock_deadlocks"
None.
Value | Default | Description |
---|---|---|
yes | Collect all 300+ metrics (not recommended) | |
no | ✓ | Collect only metrics listed in the plan |
enabled | Collect metrics that are enabled by MySQL (WHERE status='enabled' ) |
None.
Key | Value |
---|---|
subsystem | SUBSYSTEM column |
Technically InnoDB metric names are unique by subsystem, but currently they’re unique for the whole table. It’s probably safe to graph them by metric name alone, but if there’s a name collision in the future, one metrics will be lost when reporting.
None.
See 17.15.6 InnoDB INFORMATION_SCHEMA Metrics Table.
Blip Version | Change |
---|---|
v1.0.0 | Domain added |