Merge lp:~percona-toolkit-dev/percona-toolkit/pt-stalk-1019648 into lp:percona-toolkit/2.2

Proposed by Daniel Nichter
Status: Merged
Merged at revision: 555
Proposed branch: lp:~percona-toolkit-dev/percona-toolkit/pt-stalk-1019648
Merge into: lp:percona-toolkit/2.2
Diff against target: 127 lines (+54/-14)
2 files modified
bin/pt-stalk (+27/-7)
lib/bash/collect.sh (+27/-7)
To merge this branch: bzr merge lp:~percona-toolkit-dev/percona-toolkit/pt-stalk-1019648
Reviewer Review Type Date Requested Status
Daniel Nichter Approve
Review via email: mp+152961@code.launchpad.net
To post a comment you must log in.
546. By Daniel Nichter

Move code to get InnoDB status into its own sub.

Revision history for this message
Daniel Nichter (daniel-nichter) wrote :
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 2013-03-09 18:57:41 +0000
+++ bin/pt-stalk 2013-03-12 21:10:29 +0000
@@ -822,15 +822,14 @@
822 log "Could not find the MySQL error log"822 log "Could not find the MySQL error log"
823 fi823 fi
824824
825 local innostat="SHOW /*!40100 ENGINE*/ INNODB STATUS\G"
826 if [ "${mysql_version}" '>' "5.1" ]; then825 if [ "${mysql_version}" '>' "5.1" ]; then
827 local mutex="SHOW ENGINE INNODB MUTEX"826 local mutex="SHOW ENGINE INNODB MUTEX"
828 else827 else
829 local mutex="SHOW MUTEX STATUS"828 local mutex="SHOW MUTEX STATUS"
830 fi829 fi
831 $CMD_MYSQL $EXT_ARGV -e "$innostat" >> "$d/$p-innodbstatus1" &830 innodb_status 1
832 $CMD_MYSQL $EXT_ARGV -e "$mutex" >> "$d/$p-mutex-status1" &831 $CMD_MYSQL $EXT_ARGV -e "$mutex" >> "$d/$p-mutex-status1" &
833 open_tables >> "$d/$p-opentables1" &832 open_tables >> "$d/$p-opentables1" &
834833
835 local tcpdump_pid=""834 local tcpdump_pid=""
836 if [ "$CMD_TCPDUMP" -a "$OPT_COLLECT_TCPDUMP" ]; then835 if [ "$CMD_TCPDUMP" -a "$OPT_COLLECT_TCPDUMP" ]; then
@@ -968,9 +967,9 @@
968 [ "$mysqld_pid" ] && kill -s 18 $mysqld_pid967 [ "$mysqld_pid" ] && kill -s 18 $mysqld_pid
969 fi968 fi
970969
971 $CMD_MYSQL $EXT_ARGV -e "$innostat" >> "$d/$p-innodbstatus2" &970 innodb_status 2
972 $CMD_MYSQL $EXT_ARGV -e "$mutex" >> "$d/$p-mutex-status2" &971 $CMD_MYSQL $EXT_ARGV -e "$mutex" >> "$d/$p-mutex-status2" &
973 open_tables >> "$d/$p-opentables2" &972 open_tables >> "$d/$p-opentables2" &
974973
975 kill $mysqladmin_pid974 kill $mysqladmin_pid
976 [ "$tail_error_log_pid" ] && kill $tail_error_log_pid975 [ "$tail_error_log_pid" ] && kill $tail_error_log_pid
@@ -1036,6 +1035,27 @@
1036 $CMD_MYSQL $EXT_ARGV -e "SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS\G"1035 $CMD_MYSQL $EXT_ARGV -e "SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS\G"
1037}1036}
10381037
1038innodb_status() {
1039 local n=$1
1040
1041 local innostat=""
1042
1043 $CMD_MYSQL $EXT_ARGV -e "SHOW /*!40100 ENGINE*/ INNODB STATUS\G" \
1044 >> "$d/$p-innodbstatus$n"
1045 grep "END OF INNODB" "$d/$p-innodbstatus$n" >/dev/null || {
1046 if [ -d /proc -a -d /proc/$mysqld_pid ]; then
1047 for fd in /proc/$mysqld_pid/fd/*; do
1048 file $fd | grep deleted >/dev/null && {
1049 grep 'INNODB' $fd >/dev/null && {
1050 cat $fd > "$d/$p-innodbstatus$n"
1051 break
1052 }
1053 }
1054 done
1055 fi
1056 }
1057}
1058
1039# ###########################################################################1059# ###########################################################################
1040# End collect package1060# End collect package
1041# ###########################################################################1061# ###########################################################################
10421062
=== modified file 'lib/bash/collect.sh'
--- lib/bash/collect.sh 2013-03-05 00:47:02 +0000
+++ lib/bash/collect.sh 2013-03-12 21:10:29 +0000
@@ -103,15 +103,14 @@
103103
104 # Get a sample of these right away, so we can get these without interaction104 # Get a sample of these right away, so we can get these without interaction
105 # with the other commands we're about to run.105 # with the other commands we're about to run.
106 local innostat="SHOW /*!40100 ENGINE*/ INNODB STATUS\G"
107 if [ "${mysql_version}" '>' "5.1" ]; then106 if [ "${mysql_version}" '>' "5.1" ]; then
108 local mutex="SHOW ENGINE INNODB MUTEX"107 local mutex="SHOW ENGINE INNODB MUTEX"
109 else108 else
110 local mutex="SHOW MUTEX STATUS"109 local mutex="SHOW MUTEX STATUS"
111 fi110 fi
112 $CMD_MYSQL $EXT_ARGV -e "$innostat" >> "$d/$p-innodbstatus1" &111 innodb_status 1
113 $CMD_MYSQL $EXT_ARGV -e "$mutex" >> "$d/$p-mutex-status1" &112 $CMD_MYSQL $EXT_ARGV -e "$mutex" >> "$d/$p-mutex-status1" &
114 open_tables >> "$d/$p-opentables1" &113 open_tables >> "$d/$p-opentables1" &
115114
116 # If TCP dumping is specified, start that on the server's port.115 # If TCP dumping is specified, start that on the server's port.
117 local tcpdump_pid=""116 local tcpdump_pid=""
@@ -272,9 +271,9 @@
272 [ "$mysqld_pid" ] && kill -s 18 $mysqld_pid271 [ "$mysqld_pid" ] && kill -s 18 $mysqld_pid
273 fi272 fi
274273
275 $CMD_MYSQL $EXT_ARGV -e "$innostat" >> "$d/$p-innodbstatus2" &274 innodb_status 2
276 $CMD_MYSQL $EXT_ARGV -e "$mutex" >> "$d/$p-mutex-status2" &275 $CMD_MYSQL $EXT_ARGV -e "$mutex" >> "$d/$p-mutex-status2" &
277 open_tables >> "$d/$p-opentables2" &276 open_tables >> "$d/$p-opentables2" &
278277
279 # Kill backgrounded tasks.278 # Kill backgrounded tasks.
280 kill $mysqladmin_pid279 kill $mysqladmin_pid
@@ -349,6 +348,27 @@
349 $CMD_MYSQL $EXT_ARGV -e "SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS\G"348 $CMD_MYSQL $EXT_ARGV -e "SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS\G"
350}349}
351350
351innodb_status() {
352 local n=$1
353
354 local innostat=""
355
356 $CMD_MYSQL $EXT_ARGV -e "SHOW /*!40100 ENGINE*/ INNODB STATUS\G" \
357 >> "$d/$p-innodbstatus$n"
358 grep "END OF INNODB" "$d/$p-innodbstatus$n" >/dev/null || {
359 if [ -d /proc -a -d /proc/$mysqld_pid ]; then
360 for fd in /proc/$mysqld_pid/fd/*; do
361 file $fd | grep deleted >/dev/null && {
362 grep 'INNODB' $fd >/dev/null && {
363 cat $fd > "$d/$p-innodbstatus$n"
364 break
365 }
366 }
367 done
368 fi
369 }
370}
371
352# ###########################################################################372# ###########################################################################
353# End collect package373# End collect package
354# ###########################################################################374# ###########################################################################

Subscribers

People subscribed via source and target branches