From 24ae291d9e0827775c3ff5ba398de4b1bbf064f5 Mon Sep 17 00:00:00 2001 From: Frank Cizmich Date: Mon, 8 Sep 2014 14:01:24 -0300 Subject: [PATCH] pt-stalk now collects dmesg output - 1349086 --- bin/pt-stalk | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/bin/pt-stalk b/bin/pt-stalk index cc2df893..a358b4d6 100755 --- a/bin/pt-stalk +++ b/bin/pt-stalk @@ -779,6 +779,7 @@ CMD_STRACE="${CMD_STRACE:-"$(_which strace)"}" CMD_SYSCTL="${CMD_SYSCTL:-"$(_which sysctl)"}" CMD_TCPDUMP="${CMD_TCPDUMP:-"$(_which tcpdump)"}" CMD_VMSTAT="${CMD_VMSTAT:-"$(_which vmstat)"}" +CMD_DMESG="${CMD_DMESG:-"$(_which dmesg)"}" [ -z "$CMD_SYSCTL" -a -x "/sbin/sysctl" ] && CMD_SYSCTL="/sbin/sysctl" @@ -862,6 +863,14 @@ collect() { if [ "$CMD_SYSCTL" ]; then $CMD_SYSCTL -a >> "$d/$p-sysctl" & fi + + # collect dmesg events from 60 seconds ago until present + if [ "$CMD_DMESG" ]; then + local UPTIME=`cat /proc/uptime | awk '{ print $1 }'` + local START_TIME=$(echo "$UPTIME 60" | awk '{print ($1 - $2)}') + $CMD_DMESG | perl -ne 'm/\[\s*(\d+)\./; if ($1 > '${START_TIME}') { print }' >> "$d/$p-dmesg" & + fi + local cnt=$(($OPT_RUN_TIME / $OPT_SLEEP_COLLECT)) if [ "$CMD_VMSTAT" ]; then $CMD_VMSTAT $OPT_SLEEP_COLLECT $cnt >> "$d/$p-vmstat" & @@ -876,6 +885,7 @@ collect() { $CMD_MPSTAT -P ALL $OPT_RUN_TIME 1 >> "$d/$p-mpstat-overall" & fi + $CMD_MYSQLADMIN $EXT_ARGV ext -i$OPT_SLEEP_COLLECT -c$cnt >>"$d/$p-mysqladmin" & local mysqladmin_pid=$!