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

« back to all changes in this revision

Viewing changes to lib/bash/collect.sh

  • 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:
103
103
 
104
104
   # Get a sample of these right away, so we can get these without interaction
105
105
   # with the other commands we're about to run.
106
 
   local innostat="SHOW /*!40100 ENGINE*/ INNODB STATUS\G"
107
106
   if [ "${mysql_version}" '>' "5.1" ]; then
108
107
      local mutex="SHOW ENGINE INNODB MUTEX"
109
108
   else
110
109
      local mutex="SHOW MUTEX STATUS"
111
110
   fi
112
 
   $CMD_MYSQL $EXT_ARGV -e "$innostat" >> "$d/$p-innodbstatus1" &
113
 
   $CMD_MYSQL $EXT_ARGV -e "$mutex"    >> "$d/$p-mutex-status1" &
114
 
   open_tables                         >> "$d/$p-opentables1"   &
 
111
   innodb_status 1
 
112
   $CMD_MYSQL $EXT_ARGV -e "$mutex" >> "$d/$p-mutex-status1" &
 
113
   open_tables                      >> "$d/$p-opentables1"   &
115
114
 
116
115
   # If TCP dumping is specified, start that on the server's port.
117
116
   local tcpdump_pid=""
272
271
      [ "$mysqld_pid" ] && kill -s 18 $mysqld_pid
273
272
   fi
274
273
 
275
 
   $CMD_MYSQL $EXT_ARGV -e "$innostat" >> "$d/$p-innodbstatus2" &
276
 
   $CMD_MYSQL $EXT_ARGV -e "$mutex"    >> "$d/$p-mutex-status2" &
277
 
   open_tables                         >> "$d/$p-opentables2"   &
 
274
   innodb_status 2
 
275
   $CMD_MYSQL $EXT_ARGV -e "$mutex" >> "$d/$p-mutex-status2" &
 
276
   open_tables                      >> "$d/$p-opentables2"   &
278
277
 
279
278
   # Kill backgrounded tasks.
280
279
   kill $mysqladmin_pid
349
348
   $CMD_MYSQL $EXT_ARGV -e "SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS\G"
350
349
}
351
350
 
 
351
innodb_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
373
# End collect package
354
374
# ###########################################################################