周日的时候去听了一段小分享, 内容还算精彩, 把Android在性能监控方面,自动化方面,设备独立运行自动化都能讲解的很棒. adb这个原生的轮子确实很棒.(也是要root权限)
遗憾的是ios方面的在我当前涉及的圈子,发现能去这样子做, 并且开源出来的很少(我知道你们会说越狱就能解决一切问题, 那我沉默). ios性能, 手动可以通过instrument来监控, 想做的就是全面的性能自动化监控, 提取出instrument的数据来完成性能的监控,完成对app某迭代阶段, 或者整个app周期的性能走势.
<!---------------我是内容分割线--------------------------------------->
what’s instruments
instruments是instrument命令行的工具, 在执行自动化的我们需要它来监控程序拿到数据.
如何启动:
- -w “UUID” 这里是真机的uuid
- -t “template” 后缀是.tracetemplace , 是想要录制的模板,整个在下面详解
- -D “save_trace” 完成录制后存储的位置, 为.trace文件, 与普通录制一致
- App的bunldeID
- -v 看help, 是说记录日志的,实际也没看到打印日志
现在我们如何拿到.tracetemplace录制模板 和 录制能保存的.trace文件呢?
其实很简单~ 可惜我踩了一些坑才过来.
首先启动instrument app -> 空模板 -> 右上角新增想要的录制的模板(想说的是, 理论上是全部都可以录制, 自己挖坑跳跳才知道) .
左上角File -> SaveAsTemplate , 存储, 拿到录制模板.tracetemplace
:
Command+S, 存储, 拿到录制结束后, 会存储的.trace
;
这里为什么要这样子执行, 因为要保证.trace 和 .tracetemplace 一致,才能保存录制结果
拿到设备的UUID
instruments -s
可以拿到, 或者xcrun simctl list
(是活动的设备会在后面提示(Booted))
如果你连bundleID都不知道~
ios-deploy -B
可以拿到连接设备的全部bundleID , 如果你的电脑没有ios-deploy, brew install ios-deplo
, 大多情况下我这一步是啰嗦了.
其他部分instruments 参数参考
遗留问题?
我尚未在模拟器上运行成功, 希望有运行成功的联系交流.
拿到以上的数据后, 就可以按照我最上面的参数拼接启动了, Xcode8 完美运行
后序呢? 怎么实现title上的想法
有接触一篇github, 作者似乎是逆向实现了,但代码也好久没更新了, 但是我本地暂未成功解析
TraceUtility
博文地址