~hingo/percona-toolkit/pqd-mongodb-24

« back to all changes in this revision

Viewing changes to bin/pt-stalk

  • Committer: Daniel Nichter
  • Date: 2013-03-12 21:23:02 UTC
  • mfrom: (544.1.2 pt-stalk-1019648)
  • Revision ID: daniel@percona.com-20130312212302-ah1k6qn9iebbooec
Merge pt-stalk-1019648.

Show diffs side-by-side

added added

removed removed

Lines of Context:
822
822
      log "Could not find the MySQL error log"
823
823
   fi
824
824
 
825
 
   local innostat="SHOW /*!40100 ENGINE*/ INNODB STATUS\G"
826
825
   if [ "${mysql_version}" '>' "5.1" ]; then
827
826
      local mutex="SHOW ENGINE INNODB MUTEX"
828
827
   else
829
828
      local mutex="SHOW MUTEX STATUS"
830
829
   fi
831
 
   $CMD_MYSQL $EXT_ARGV -e "$innostat" >> "$d/$p-innodbstatus1" &
832
 
   $CMD_MYSQL $EXT_ARGV -e "$mutex"    >> "$d/$p-mutex-status1" &
833
 
   open_tables                         >> "$d/$p-opentables1"   &
 
830
   innodb_status 1
 
831
   $CMD_MYSQL $EXT_ARGV -e "$mutex" >> "$d/$p-mutex-status1" &
 
832
   open_tables                      >> "$d/$p-opentables1"   &
834
833
 
835
834
   local tcpdump_pid=""
836
835
   if [ "$CMD_TCPDUMP" -a  "$OPT_COLLECT_TCPDUMP" ]; then
968
967
      [ "$mysqld_pid" ] && kill -s 18 $mysqld_pid
969
968
   fi
970
969
 
971
 
   $CMD_MYSQL $EXT_ARGV -e "$innostat" >> "$d/$p-innodbstatus2" &
972
 
   $CMD_MYSQL $EXT_ARGV -e "$mutex"    >> "$d/$p-mutex-status2" &
973
 
   open_tables                         >> "$d/$p-opentables2"   &
 
970
   innodb_status 2
 
971
   $CMD_MYSQL $EXT_ARGV -e "$mutex" >> "$d/$p-mutex-status2" &
 
972
   open_tables                      >> "$d/$p-opentables2"   &
974
973
 
975
974
   kill $mysqladmin_pid
976
975
   [ "$tail_error_log_pid" ] && kill $tail_error_log_pid
1036
1035
   $CMD_MYSQL $EXT_ARGV -e "SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS\G"
1037
1036
}
1038
1037
 
 
1038
innodb_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
1060
# End collect package
1041
1061
# ###########################################################################