diff --git a/plugins/dynamic-tracking/index.py b/plugins/dynamic-tracking/index.py index 3ae3797ce..fe3dc7022 100755 --- a/plugins/dynamic-tracking/index.py +++ b/plugins/dynamic-tracking/index.py @@ -57,7 +57,17 @@ def getArgs(): return tmp +def checkArgs(data, ck=[]): + for i in range(len(ck)): + if not ck[i] in data: + return (False, mw.returnJson(False, '参数:(' + ck[i] + ')没有!')) + return (True, mw.returnJson(True, 'ok')) + + def status(): + dir_path = getServerDir() + '/trace' + if not os.path.exists(dir_path): + os.mkdir(dir_path) return 'start' @@ -94,6 +104,29 @@ def initdUinstall(): return 'ok' +def dtFileList(): + dir_path = getServerDir() + '/trace' + if not os.path.exists(dir_path): + os.mkdir(dir_path) + + file_info = [] + for name in os.listdir(dir_path): + if name == ".DS_Store": + continue + + # print(name) + info = {} + try: + info['name'] = name + except Exception as e: + return mw.returnJson(False, str(e)) + + file_info.append(info) + + file_info = sorted(file_info, key=lambda x: x['name'], reverse=False) + return mw.returnJson(True, 'ok!', file_info) + + if __name__ == "__main__": func = sys.argv[1] if func == 'status': @@ -118,5 +151,7 @@ if __name__ == "__main__": print(getConf()) elif func == 'run_log': print(runLog()) + elif func == 'file_list': + print(dtFileList()) else: print('error') diff --git a/plugins/dynamic-tracking/static/css/dynamic-tracking.css b/plugins/dynamic-tracking/static/css/dynamic-tracking.css index db5f38af1..a6c04f524 100644 --- a/plugins/dynamic-tracking/static/css/dynamic-tracking.css +++ b/plugins/dynamic-tracking/static/css/dynamic-tracking.css @@ -31,11 +31,45 @@ overflow-y: auto; } +#file_list .list li.active { + background-color: #f2f2f2; +} + #file_list .tab-con{ padding: 0px; margin-top: 10px; } +#file_list .list li>span { + vertical-align: top; + display: inline-block; +} + +#file_list .list li { + display: inline-block; + height: 38px; + line-height: 38px; + color: #444; + border-bottom: 1px solid #ececec; + font-size: 13px; + cursor: pointer; + position: relative; + width: 100%; +} + +#file_list .file { + padding-left: 10px; +} + +#file_list .list li .tootls{ + width: 70px; + text-align: right; + padding-right: 10px; + /* display: none; */ + position: absolute; + right: 5px; +} + /*.tab-con .tab-block.on { display: inline-block; }*/ \ No newline at end of file diff --git a/plugins/dynamic-tracking/static/html/index.html b/plugins/dynamic-tracking/static/html/index.html index 39d1c903f..e991d5992 100644 --- a/plugins/dynamic-tracking/static/html/index.html +++ b/plugins/dynamic-tracking/static/html/index.html @@ -55,6 +55,13 @@
火焰图
+ + +
+
+ +
+
diff --git a/plugins/dynamic-tracking/static/js/dynamic-tracking.js b/plugins/dynamic-tracking/static/js/dynamic-tracking.js index ef51103de..ca5970892 100755 --- a/plugins/dynamic-tracking/static/js/dynamic-tracking.js +++ b/plugins/dynamic-tracking/static/js/dynamic-tracking.js @@ -26,9 +26,14 @@ function dynamicTrackingLoad(){ $(window).resize(function(){ changeDivH(); }); + + //加载采样数据列表 + dtFileList(); } + + function dtPost(method, version, args,callback){ var loadT = layer.msg('正在获取...', { icon: 16, time: 0, shade: 0.3 }); @@ -57,21 +62,21 @@ function dtPost(method, version, args,callback){ },'json'); } -function dtPostCallbak(method, version, args,callback){ +function dtPostCb(method, version, args,callback){ var loadT = layer.msg('正在获取...', { icon: 16, time: 0, shade: 0.3 }); - var req_data = {}; - req_data['name'] = 'dynamic-tracking'; - req_data['func'] = method; + var pdata = {}; + pdata['name'] = 'dynamic-tracking'; + pdata['func'] = method; args['version'] = version; if (typeof(args) == 'string'){ - req_data['args'] = JSON.stringify(toArrayObject(args)); + pdata['args'] = JSON.stringify(toArrayObject(args)); } else { - req_data['args'] = JSON.stringify(args); + pdata['args'] = JSON.stringify(args); } - $.post('/plugins/callback', req_data, function(data) { + $.post('/plugins/callback', pdata, function(data) { layer.close(loadT); if (!data.status){ layer.msg(data.msg,{icon:0,time:2000,shade: [0.3, '#000']}); @@ -83,3 +88,38 @@ function dtPostCallbak(method, version, args,callback){ } },'json'); } + + +function dtFileList(){ + dtPost('file_list', '', {}, function(data){ + var rdata = $.parseJSON(data.data); + var alist = rdata.data; + + if (alist.length == 0){ + var em ='
  • 无数据
  • '; + $('#file_list .list').html(em); + return; + } + + var tli = ''; + for (var i = 0; i < alist.length; i++) { + if (i==0){ + tli +='
  • \ + '+alist[i]['name']+'\ + \ + \ + \ +
  • '; + } else{ + tli +='
  • \ + '+alist[i]['name']+'\ + \ + \ + \ +
  • '; + } + } + + $('#file_list .list').html(tli); + }); +} \ No newline at end of file