From 067d411e61e4ab71b4c39a73e4a8b62e9735ab44 Mon Sep 17 00:00:00 2001 From: Monkey Date: Fri, 8 Aug 2014 18:45:09 +0800 Subject: [PATCH 1/5] no message --- V1.0/Command.py | 5 +++++ V1.0/Log_Analysis.py | 44 ++++++++++++++++++++------------------------ V1.0/testtime.txt | 3 +++ 3 files changed, 28 insertions(+), 24 deletions(-) create mode 100644 V1.0/testtime.txt diff --git a/V1.0/Command.py b/V1.0/Command.py index f9c3012..8ae2940 100755 --- a/V1.0/Command.py +++ b/V1.0/Command.py @@ -1,5 +1,10 @@ # -*- coding: utf-8 -*- +''' +by monkey +''' + + import os, re,sys import subprocess import time, os, sched,shlex,threading diff --git a/V1.0/Log_Analysis.py b/V1.0/Log_Analysis.py index 2c19802..d614a0a 100644 --- a/V1.0/Log_Analysis.py +++ b/V1.0/Log_Analysis.py @@ -1,5 +1,10 @@ # -*- coding: utf-8 -*- +''' +by monkey +''' + + import os, re,sys import subprocess import time, os, sched,shlex,threading @@ -14,14 +19,18 @@ flow_path ='/Users/monkey/Pictures/performance_test_script/NetWorkFile_13_36_54.txt' -def read_log(log_path): - LogList = [] - f = open(log_path) - s = f.readlines() - f.close() - for line in s: - LogList.append(line) - return LogList + +class Read_file: + def __init__(self): + self.LogList = [] + + def read_log(self,log_path): + f = open(log_path) + s = f.readlines() + f.close() + for line in s: + self.LogList.append(line) + return self.LogList def cpu_analysis(): _data_list =[] @@ -37,21 +46,6 @@ def cpu_analysis(): _cpudata_list.append(_noblank_list[2]) print _cpudata_list - -def Memory_Vss_analysis(): - _data_list =[] - _Vssdata_list = [] - cpu_list = read_log(cpu_path) - for i in xrange(len(cpu_list)): - _data_list.append(cpu_list[i].split(" ")) - for i in xrange(len(_data_list)): - for j in xrange(len(_data_list[i])): - _noblank_list = [elem for elem in _data_list[i] if elem != ""] - for k in xrange(len(_noblank_list)): - if package_name in _noblank_list[k]: - _Vssdata_list.append(_noblank_list[5]) - print _Vssdata_list - def Memory_Vss_analysis(): _data_list =[] _Vssdata_list = [] @@ -116,4 +110,6 @@ def flow_analysis(): if __name__=="__main__": - flow_analysis() \ No newline at end of file + cpu_file = Read_file() + cpu_list = cpu_file.read_log(cpu_path) + print cpu_list \ No newline at end of file diff --git a/V1.0/testtime.txt b/V1.0/testtime.txt new file mode 100644 index 0000000..3cb9fee --- /dev/null +++ b/V1.0/testtime.txt @@ -0,0 +1,3 @@ +E/testtime(32108): 0 +E/testtime(32108): 509 +E/testtime(32108): 37 \ No newline at end of file From 1bda34fa0a4cc34f9363ebaadb48a2875988b9c8 Mon Sep 17 00:00:00 2001 From: Monkey Date: Mon, 11 Aug 2014 15:16:19 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=BA=86=E9=80=BB?= =?UTF-8?q?=E8=BE=91=E4=BB=A5=E5=8F=8A=E6=8D=95=E6=8D=89=E4=B8=80=E4=BA=9B?= =?UTF-8?q?=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- V1.0/Log_Analysis.py | 120 +++++++++++++++++++++++++++---------------- 1 file changed, 76 insertions(+), 44 deletions(-) diff --git a/V1.0/Log_Analysis.py b/V1.0/Log_Analysis.py index d614a0a..002d306 100644 --- a/V1.0/Log_Analysis.py +++ b/V1.0/Log_Analysis.py @@ -35,73 +35,107 @@ def read_log(self,log_path): def cpu_analysis(): _data_list =[] _cpudata_list = [] - cpu_list = read_log(cpu_path) - for i in xrange(len(cpu_list)): - _data_list.append(cpu_list[i].split(" ")) - for i in xrange(len(_data_list)): - for j in xrange(len(_data_list[i])): - _noblank_list = [elem for elem in _data_list[i] if elem != ""] - for k in xrange(len(_noblank_list)): - if package_name in _noblank_list[k]: - _cpudata_list.append(_noblank_list[2]) - print _cpudata_list + cpu_total = 0 + cpu_file = Read_file() + cpu_list = cpu_file.read_log(cpu_path) + try: + for i in xrange(len(cpu_list)): + _data_list.append(cpu_list[i].split(" ")) + for i in xrange(len(_data_list)): + for j in xrange(len(_data_list[i])): + _noblank_list = [elem for elem in _data_list[i] if elem != ""] + for k in xrange(len(_noblank_list)): + if package_name in _noblank_list[k]: + _cpudata_list.append(_noblank_list[2]) + cpu_total = cpu_total+int(_noblank_list[2][:-1]) + avg_cpu = cpu_total/len(_cpudata_list) + except IndexError: + print "日志文件不完整" + return _cpudata_list,avg_cpu def Memory_Vss_analysis(): _data_list =[] _Vssdata_list = [] - memory_list = read_log(cpu_path) - for i in xrange(len(memory_list)): - _data_list.append(memory_list[i].split(" ")) - for i in xrange(len(_data_list)): - for j in xrange(len(_data_list[i])): - _noblank_list = [elem for elem in _data_list[i] if elem != ""] - for k in xrange(len(_noblank_list)): - if package_name in _noblank_list[k]: - _Vssdata_list.append(_noblank_list[5]) - print _Vssdata_list + Memory_total = 0 + Memory_file = Read_file() + memory_list = Memory_file.read_log(cpu_path) + try: + for i in xrange(len(memory_list)): + _data_list.append(memory_list[i].split(" ")) + for i in xrange(len(_data_list)): + for j in xrange(len(_data_list[i])): + _noblank_list = [elem for elem in _data_list[i] if elem != ""] + for k in xrange(len(_noblank_list)): + if package_name in _noblank_list[k]: + _Vssdata_list.append(_noblank_list[5]) + Memory_total = Memory_total+int(_noblank_list[5][:-1]) + avg_Vss = Memory_total/len(_Vssdata_list) + except IndexError: + print "日志文件不完整" + return _Vssdata_list,avg_Vss def Memory_Rss_analysis(): _data_list =[] _Rssdata_list = [] - memory_list = read_log(cpu_path) - for i in xrange(len(memory_list)): - _data_list.append(memory_list[i].split(" ")) - for i in xrange(len(_data_list)): - for j in xrange(len(_data_list[i])): - _noblank_list = [elem for elem in _data_list[i] if elem != ""] - for k in xrange(len(_noblank_list)): - if package_name in _noblank_list[k]: - _Rssdata_list.append(_noblank_list[5]) - print _Rssdata_list + Memory_total = 0 + Memory_file = Read_file() + memory_list = Memory_file.read_log(cpu_path) + try: + for i in xrange(len(memory_list)): + _data_list.append(memory_list[i].split(" ")) + for i in xrange(len(_data_list)): + for j in xrange(len(_data_list[i])): + _noblank_list = [elem for elem in _data_list[i] if elem != ""] + for k in xrange(len(_noblank_list)): + if package_name in _noblank_list[k]: + _Rssdata_list.append(_noblank_list[6]) + Memory_total = Memory_total+int(_noblank_list[5][:-1]) + avg_Rss = Memory_total/len(_Rssdata_list) + except IndexError: + print "日志文件不完整" + return _Rssdata_list,avg_Rss def Gc_analysis(): _gc_free_list =[] _gc_used_per = [] _gc_total_time = [] - gc_list = read_log(gc_path) + _gc_free_total = 0 + _gc_used_total = 0 + _gc_time_total =0 + gc_file = Read_file() + gc_list = gc_file.read_log(gc_path) try: for i in xrange(len(gc_list)): if 'GC_CONCURRENT' in gc_list[i]: - print gc_list[i].split(' '),i freed_index = gc_list[i].split(' ').index('freed') - _gc_free_list.append(gc_list[i].split(' ')[freed_index+1]) - _gc_used_per.append(gc_list[i].split(' ')[freed_index+2]) - _gc_total_time.append(gc_list[i].split(' ')[10][-4:]) -# print _gc_free_list + if gc_list[i].split(' ')[freed_index+1][:-2].isdigit() and gc_list[i].split(' ')[freed_index+2][:-1].isdigit() and gc_list[i].split(' ')[len(gc_list[i].split(' '))-1][:-4].isdigit(): + _gc_free_list.append(gc_list[i].split(' ')[freed_index+1]) + _gc_used_per.append(gc_list[i].split(' ')[freed_index+2]) + _gc_total_time.append(gc_list[i].split(' ')[len(gc_list[i].split(' '))-1][:-4]) + _gc_free_total = _gc_free_total+int(gc_list[i].split(' ')[freed_index+1][:-2]) + _gc_used_total = _gc_used_total+int(gc_list[i].split(' ')[freed_index+2][:-1]) + _gc_time_total = _gc_time_total + int(gc_list[i].split(' ')[len(gc_list[i].split(' '))-1][:-4]) + avg_gc_free = _gc_free_total/len(_gc_free_list) + avg_gc_used = _gc_used_total/len(_gc_used_per) + avg_gc_time = _gc_time_total/len(_gc_total_time) except IndexError: print "日志文件不完整" - return _gc_free_list,_gc_used_per,_gc_total_time + return _gc_free_list,_gc_used_per,_gc_total_time,avg_gc_free,avg_gc_used,avg_gc_time def flow_analysis(): _flow_list = [] - data_list = read_log(flow_path) + flow_file = Read_file() + flow_list = flow_file.read_log(flow_path) + flow_total =0 try: - for i in xrange(len(data_list)): - _flow_list.append(data_list[i].split(' ')[-1:][0][:-4]) + for i in xrange(len(flow_list)): + _flow_list.append(flow_list[i].split(' ')[-1:][0][:-4]) + flow_total = flow_total+int(flow_list[i].split(' ')[-1:][0][:-4]) + avg_flow = flow_total/len(_flow_list) except IndexError: print "日志不完整" - return _flow_list + print _flow_list,avg_flow @@ -110,6 +144,4 @@ def flow_analysis(): if __name__=="__main__": - cpu_file = Read_file() - cpu_list = cpu_file.read_log(cpu_path) - print cpu_list \ No newline at end of file + flow_analysis() \ No newline at end of file From 05d10a6767bb1b9c63b76098737cdb1522ad2bb8 Mon Sep 17 00:00:00 2001 From: Monkey Date: Wed, 13 Aug 2014 13:56:32 +0800 Subject: [PATCH 3/5] no message --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 72753da..54920ed 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ AndroidPermanceTest_Python_V1.0 > 1.增加了Monkey的通用脚本 > python版本必须是2.x。然后执行的时候如下 -> Monkey Monkey_Script.py <参数1> <参数2> <参数3> <参数4> +> python Monkey_Script.py <参数1> <参数2> <参数3> <参数4> > 参数1:要执行的类型,有三种可以选择(分别是Normal,alltouch,other) From ef6b2857a1121500cc927ba3dc955fcfae82bd31 Mon Sep 17 00:00:00 2001 From: Monkey Date: Wed, 13 Aug 2014 14:25:27 +0800 Subject: [PATCH 4/5] bug fix --- V1.0/Command.py | 4 ++-- V1.0/Monkey_Script.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/V1.0/Command.py b/V1.0/Command.py index 8ae2940..341ca02 100755 --- a/V1.0/Command.py +++ b/V1.0/Command.py @@ -15,7 +15,8 @@ def now_time(): localtime = time.asctime( time.localtime(time.time()) ) - time_array = localtime.split(" ")[4].split(":") + time_array = localtime.split(" ")[3].split(":") + print time_array return time_array[0]+'_'+time_array[1]+"_"+time_array[2] def WriteLog(waittime,package_name): @@ -38,6 +39,5 @@ def WriteLog(waittime,package_name): print '报告正在生成' os.system('adb kill-server') - if __name__ == '__main__': WriteLog(sys.argv[1],sys.argv[2]) \ No newline at end of file diff --git a/V1.0/Monkey_Script.py b/V1.0/Monkey_Script.py index 29693c9..b5ac400 100644 --- a/V1.0/Monkey_Script.py +++ b/V1.0/Monkey_Script.py @@ -11,7 +11,7 @@ def now_time(): localtime = time.asctime( time.localtime(time.time()) ) - time_array = localtime.split(" ")[4].split(":") + time_array = localtime.split(" ")[3].split(":") return time_array[0]+'_'+time_array[1]+"_"+time_array[2] def run_monkey(param,package_name,count,waittime): @@ -31,4 +31,4 @@ def run_monkey(param,package_name,count,waittime): if __name__ == '__main__': - run_monkey(%s,%s,%d,%d)%(sys.argv[1],sys.argv[2],argv[3],argv[4]) \ No newline at end of file + run_monkey(sys.argv[1],sys.argv[2],argv[3],argv[4]) \ No newline at end of file From 7e5c85a550cff79ac6c9bd4ba50b688baf1daef2 Mon Sep 17 00:00:00 2001 From: yechen Date: Tue, 2 Dec 2014 17:00:43 +0800 Subject: [PATCH 5/5] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 54920ed..5d83cfa 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ AndroidPermanceTest_Python ========================== +Windows小白用户慎用,此脚本目前需要少量的修改才能够用在你的工作中 环境准备: > 1.本地还是需要有android sdk环境。至少adb能够使用 > 2.本地需要安装python2.x版本