| Bug #72561 | Add P_S metrics on GET_LOCK() usage | ||
|---|---|---|---|
| Submitted: | 7 May 2014 18:14 | Modified: | 23 Oct 2015 9:44 |
| Reporter: | Simon Mudd (OCA) | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: Performance Schema | Severity: | S4 (Feature request) |
| Version: | 5.7 | OS: | Any |
| Assigned to: | Marc ALFF | CPU Architecture: | Any |
| Tags: | GET_LOCK, locking, performance_schema | ||
[7 May 2014 18:14]
Simon Mudd
[23 Oct 2015 9:43]
Marc ALFF
This feature is now implemented in MySQL 5.7 GET_LOCK uses metadata locks with an OBJECT_TYPE of USER LEVEL LOCK See http://dev.mysql.com/doc/refman/5.7/en/metadata-locks-table.html for details, the table performance_schema.metadata_locks displays who owns / who waits user level locks.
[23 Oct 2015 9:54]
Mark Leith
Note, you need to enable the metadata lock instrument:
UPDATE setup_instruments
SET ENABLED = 'YES'
WHERE NAME = 'wait/lock/metadata/sql/mdl';
Then it's pretty easy to see current locks, including those that are pending, with:
mysql> select object_name, lock_status, owner_thread_id from metadata_locks where object_type = 'user level lock';
+---------------+-------------+-----------------+
| object_name | lock_status | owner_thread_id |
+---------------+-------------+-----------------+
| somelock | GRANTED | 23 |
| someotherlock | GRANTED | 23 |
| somelock | PENDING | 24 |
+---------------+-------------+-----------------+
