Merge lp:~percona-toolkit-dev/percona-toolkit/pt-stalk-should-use-SQL_NO_CACHE-1318985 into lp:~percona-toolkit-dev/percona-toolkit/release-2.2.11

Proposed by Frank Cizmich
Status: Merged
Approved by: Daniel Nichter
Approved revision: 617
Merged at revision: 619
Proposed branch: lp:~percona-toolkit-dev/percona-toolkit/pt-stalk-should-use-SQL_NO_CACHE-1318985
Merge into: lp:~percona-toolkit-dev/percona-toolkit/release-2.2.11
Diff against target: 34 lines (+5/-5)
1 file modified
bin/pt-stalk (+5/-5)
To merge this branch: bzr merge lp:~percona-toolkit-dev/percona-toolkit/pt-stalk-should-use-SQL_NO_CACHE-1318985
Reviewer Review Type Date Requested Status
Daniel Nichter Approve
Review via email: mp+234135@code.launchpad.net

Description of the change

Added SQL_NO_CACHE to the queries that collect information about locks and transactions.
This addresses the problem of the tool generating noise in the processlist with queries awaiting for the cache mutex.

To post a comment you must log in.
Revision history for this message
Daniel Nichter (daniel-nichter) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'bin/pt-stalk'
--- bin/pt-stalk 2014-08-05 20:37:42 +0000
+++ bin/pt-stalk 2014-09-10 15:09:23 +0000
@@ -1001,7 +1001,7 @@
1001}1001}
10021002
1003lock_waits() {1003lock_waits() {
1004 local sql1="SELECT1004 local sql1="SELECT SQL_NO_CACHE
1005 CONCAT('thread ', b.trx_mysql_thread_id, ' from ', p.host) AS who_blocks,1005 CONCAT('thread ', b.trx_mysql_thread_id, ' from ', p.host) AS who_blocks,
1006 IF(p.command = \"Sleep\", p.time, 0) AS idle_in_trx,1006 IF(p.command = \"Sleep\", p.time, 0) AS idle_in_trx,
1007 MAX(TIMESTAMPDIFF(SECOND, r.trx_wait_started, CURRENT_TIMESTAMP)) AS max_wait_time,1007 MAX(TIMESTAMPDIFF(SECOND, r.trx_wait_started, CURRENT_TIMESTAMP)) AS max_wait_time,
@@ -1013,7 +1013,7 @@
1013 GROUP BY who_blocks ORDER BY num_waiters DESC\G"1013 GROUP BY who_blocks ORDER BY num_waiters DESC\G"
1014 $CMD_MYSQL $EXT_ARGV -e "$sql1"1014 $CMD_MYSQL $EXT_ARGV -e "$sql1"
10151015
1016 local sql2="SELECT1016 local sql2="SELECT SQL_NO_CACHE
1017 r.trx_id AS waiting_trx_id,1017 r.trx_id AS waiting_trx_id,
1018 r.trx_mysql_thread_id AS waiting_thread,1018 r.trx_mysql_thread_id AS waiting_thread,
1019 TIMESTAMPDIFF(SECOND, r.trx_wait_started, CURRENT_TIMESTAMP) AS wait_time,1019 TIMESTAMPDIFF(SECOND, r.trx_wait_started, CURRENT_TIMESTAMP) AS wait_time,
@@ -1034,9 +1034,9 @@
1034} 1034}
10351035
1036transactions() {1036transactions() {
1037 $CMD_MYSQL $EXT_ARGV -e "SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX\G"1037 $CMD_MYSQL $EXT_ARGV -e "SELECT SQL_NO_CACHE * FROM INFORMATION_SCHEMA.INNODB_TRX\G"
1038 $CMD_MYSQL $EXT_ARGV -e "SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS\G"1038 $CMD_MYSQL $EXT_ARGV -e "SELECT SQL_NO_CACHE * FROM INFORMATION_SCHEMA.INNODB_LOCKS\G"
1039 $CMD_MYSQL $EXT_ARGV -e "SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS\G"1039 $CMD_MYSQL $EXT_ARGV -e "SELECT SQL_NO_CACHE * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS\G"
1040}1040}
10411041
1042innodb_status() {1042innodb_status() {

Subscribers

People subscribed via source and target branches

to all changes: