iTest使用说明_V4.5.1

1. 更新说明

1) 修改CPU默认算法为平均值法

2) 增加监控对象进程筛选的方法设置让监控更灵活

3) 修复历史数据中删除已经删除的数据引起的崩溃问题

4) 优化数据走势图加载数据时内存占用;

5) 优化NDKso补齐所有平台so删除未使用的so

6) 将最低版本重新设置回Android 4.0iTest4.5.0版本支持的最低版本为Android4.2

2. 新增及特色功能介绍

2.1 CPU算法说明

我们的CPU有两种算法平均值法更通用,是因为其不会丢失信息top采用的就是平均值法采样法更灵活对于一些手机上时间容易出现问题(累积时间应该一直变大,但是有些手机会偶现累积时间变小)的手机上,可以在出现问题的时候再采集1次数据,详情请见《iTestcpu占用率算法》。考虑到不是所有手机都会出现时间变小,我们在本版本中将默认算法修改成平均值法。

iTest使用说明_V4.5.1_第1张图片

 

2.2 进程筛选设置说明

现在很多App存在多进程的情况,我们的iTest也存在多进程,如下图所示。


有时我们需要监控主进程的占用CPUPSS情况,有时又需要监控被测App多进程的所有CPUPSS情况,有时还需要监控linux进程的CPUPSS情况……

为了更方便的满足需求,我们增加了进程筛选的方式选择,如下图所示。


iTest使用说明_V4.5.1_第2张图片

 

根据包名筛选进程就是只监控主进程的方式什么:push之类的推送进程不在监控范围内,这种优势的简单直接,占用CPU比较少。

根据Uid筛选进程或通过ps命令将该Uid的所有进程都自动筛选出来也就是默认采用多进程模式,当然这种占用的CPU肯定比上一种方式要高出不少。

根据配置文件是在Uid的基础上比如某App可能有很多进程,比如3,而我们需要监控其中的某两个进程那么就需要用到这个设置了

2.2.1 根据包名筛选

接下来我们一个个举例说明(因为内存相对简单,我们拿内存为例),首先看第一种方法,设置好后,监控iTest本身,通过悬浮框显示与应用程序中的内存信息对比,如下图。可以看到iTest监控的内存与应用程序中采集到的数据一致,并没有包括xpush那个进程的信息,CPU占用为5%


iTest使用说明_V4.5.1_第3张图片

 

2.2.2 根据Uid筛选

第二种方法按照Uid筛选进程,方法与上一种类似,设置好后,监控iTest本身,通过悬浮框与应用程序对比,如下图。可以看出iTest监控内存是两个进程内存占用之和,CPU占用为6.9%,高于第一种。


iTest使用说明_V4.5.1_第4张图片

 

2.2.3 根据配置文件筛选

接下来是第三种方法,这里我们以“一分钟输入400字”的讯飞输入法来为例,我们先通过ps找到讯飞输入法的进程列表,可以看到有3个进程,我们如果只想监控其中的两个进程信息,比如非主进程的assistsettings进程,那么前两种方法肯定搞不定了。

 




 

这种需要借助于配置文件实现,配置文件如上图所示,把配置文件通过adb push/sdcard/AndroidPropertyTool4/中,设置好筛选方式后,启动监控,因为应用程序竟然没有找到settings进程信息,这里通过应用程序配合dumpsys meminfo ${ pid } 的方法来对比如下图所示可以看到iTest监控到的内存数据是assistsettings进程内存之和


iTest使用说明_V4.5.1_第5张图片

 

这里可通过adb shell am broadcast -a FLogChange --es level 1命令打开iTest的调试日志即可看到筛选情况如下图所示

 

iTest使用说明_V4.5.1_第6张图片


2.2.4 进程筛选妙用1——监控linux进程

之前就接触到了监控测试程序(可执行文件,跑在Android中的linux进程,并无App的需求。这里还是以iTest为例,iTest特色及高级功能介绍》一文中可以看到,我们有内存填充的功能(需要root),这种会调用我们编译好的可执行文件memkit我们如果想要监控这种进程,我们通过前几种方法(根据界面选择)都是做不到的,因为我们iTest调用memkit的时候uidroot而不是iTestuid如下图

 



这时我们可以先把进程设置成第1种(采用包名),通过iTest的命令行方式启动监控,相关命令(更多命令请参考《command_V4.5.0》):adb shell am broadcast -a monitorStart --es monitor cpu,pss --es pkg /data/data/iflytek.testTech.propertytool/files/memkit --es interval 1。监控情况如下图所示。


iTest使用说明_V4.5.1_第7张图片

 

2.2.5 进程筛选妙用2——单独监控apk的多个进程

根据Uid虽然能够监控到多进程内存、CPU之和,但是如果想分开监控,根据界面选择App的方式也是做不到的,这时还是要借助于命令行的方式中来实现,与2.2.4类似,命令及监控情况如下所示:adb shell am broadcast -a monitorStart --es monitor cpu,pss --es pkg /data/data/iflytek.testTech.propertytool/files/memkit,iflytek.testTech.propertytool:xpush --es interval 1


iTest使用说明_V4.5.1_第8张图片

 

3. 结束语

4.5.1版本新功能就介绍到这里了,下次再见。


iTest使用说明_V4.5.1_第9张图片

你可能感兴趣的:(测试开发)