pull/445/head
midoks 2 years ago
parent ba6dcabd04
commit 17a7ffa0b4
  1. 3
      plugins/dynamic-tracking/index.py
  2. 39
      plugins/dynamic-tracking/shell/simple_macosx_trace.sh
  3. 7
      plugins/dynamic-tracking/shell/simple_trace.sh
  4. 5
      plugins/dynamic-tracking/static/js/dynamic-tracking.js
  5. 2
      plugins/dynamic-tracking/versions/debian.sh

@ -177,6 +177,9 @@ def dtFileList():
def dtSimpleTrace(): def dtSimpleTrace():
if mw.isAppleSystem():
return mw.returnJson(False, 'macosx只能手动执行!')
args = getArgs() args = getArgs()
data = checkArgs(args, ['pid']) data = checkArgs(args, ['pid'])
if not data[0]: if not data[0]:

@ -0,0 +1,39 @@
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
# debug
# cd /www/server/mdserver-web
# /www/server/mdserver-web/plugins/dynamic-tracking/shell/simple_trace_macosx.sh "22431"
# cd /Users/midoks/Desktop/mwdev/server/mdserver-web
# /Users/midoks/Desktop/mwdev/server/mdserver-web/plugins/dynamic-tracking/shell/simple_trace_macosx.sh "22431"
# dtrace -x ustackframes=100 -n 'pid$target::mach_msg_trap:entry { @[ustack()] = count(); } tick-30s { exit(0); }' -p 18572 -o out.SystemUIServer_stacks
# /Users/midoks/Desktop/mwdev/server/dynamic-tracking/FlameGraph/stackcollapse.pl out.SystemUIServer_stacks > kernel.cbt
# /Users/midoks/Desktop/mwdev/server/dynamic-tracking/FlameGraph/flamegraph.pl kernel.cbt > kernel.svg
curPath=`pwd`
rootPath=$(dirname "$curPath")
serverPath=$(dirname "$rootPath")
sysName=`uname`
PID=$1
echo $rootPath # /Users/midoks/Desktop/mwdev/server
echo $curPath # /Users/midoks/Desktop/mwdev/server/mdserver-web
APP_DIR=${rootPath}/dynamic-tracking
DST_FILE_DIR=${APP_DIR}/trace/PID_${PID}
mkdir -p $DST_FILE_DIR
DST_FILE=${DST_FILE_DIR}/out.SystemUIServer_stacks
if [ ! -f $DST_FILE ];then
sudo dtrace -x ustackframes=100 -n 'pid$target::mach_msg_trap:entry { @[ustack()] = count(); } tick-30s { exit(0); }' -p "$PID" -o $DST_FILE
fi
${APP_DIR}/FlameGraph/stackcollapse.pl $DST_FILE > ${DST_FILE_DIR}/kernel.cbt
${APP_DIR}/FlameGraph/flamegraph.pl ${DST_FILE_DIR}/kernel.cbt > ${DST_FILE_DIR}/main.svg

@ -5,14 +5,11 @@ export PATH
# debug # debug
# cd /www/server/mdserver-web # cd /www/server/mdserver-web
# /www/server/mdserver-web/plugins/dynamic-tracking/shell/simple_trace.sh "22431" # /www/server/mdserver-web/plugins/dynamic-tracking/shell/simple_trace_macosx.sh "22431"
# cd /Users/midoks/Desktop/mwdev/server/mdserver-web # cd /Users/midoks/Desktop/mwdev/server/mdserver-web
# /Users/midoks/Desktop/mwdev/server/mdserver-web/plugins/dynamic-tracking/shell/simple_trace.sh "22431" # /Users/midoks/Desktop/mwdev/server/mdserver-web/plugins/dynamic-tracking/shell/simple_trace_macosx.sh "22431"
# dtrace -x ustackframes=100 -n 'pid$target::mach_msg_trap:entry { @[ustack()] = count(); } tick-30s { exit(0); }' -p 18572 -o out.SystemUIServer_stacks
# /Users/midoks/Desktop/mwdev/server/dynamic-tracking/FlameGraph/stackcollapse.pl out.SystemUIServer_stacks > kernel.cbt
# /Users/midoks/Desktop/mwdev/server/dynamic-tracking/FlameGraph/flamegraph.pl kernel.cbt > kernel.svg
curPath=`pwd` curPath=`pwd`
rootPath=$(dirname "$curPath") rootPath=$(dirname "$curPath")

@ -36,9 +36,10 @@ $('.data-collect').click(function(){
var pid = $('#searchValue').val(); var pid = $('#searchValue').val();
dtPost('simple_trace', '', {pid:pid}, function(rdata){ dtPost('simple_trace', '', {pid:pid}, function(rdata){
console.log(rdata); // console.log(rdata);
var rdata = $.parseJSON(rdata.data);
layer.msg(rdata['msg'],{icon:rdata['status']?1:2,time:2000,shade: [0.3, '#000']});
}); });
}); });

@ -14,7 +14,7 @@ SYS_ARCH=`arch`
# apt-get update -y # apt-get update -y
# strace -p $(ps -ef|grep "pool www" | awk '{print $2}' | grep -v grep | tr '\n' ',' ) # strace -p $(ps -ef|grep "pool www" | awk '{print $2}' | grep -v grep | tr '\n' ',' )
# perf record -F 99 -p 892 -g -- sleep 30 # perf record -F 99 -p 2401699 -g -- sleep 30
# perf script > out.perf # perf script > out.perf
# /www/server/dynamic-tracking/FlameGraph/stackcollapse-perf.pl out.perf > out.folded # /www/server/dynamic-tracking/FlameGraph/stackcollapse-perf.pl out.perf > out.folded
# /www/server/dynamic-tracking/FlameGraph/flamegraph.pl out.folded > php-zend-flame-graph.svg # /www/server/dynamic-tracking/FlameGraph/flamegraph.pl out.folded > php-zend-flame-graph.svg

Loading…
Cancel
Save