功耗分析工具需求V1.0
目的
版本 | 目的 |
功耗分析工具需求V1.0 | 辅助开发进行功耗日志的快速检索与分析 |
功耗分析工具需求V2.0 | 暂无具体需求,大体方向是V1.0的使用基础上,固化某些关键字和常见的功耗现象,自动完成初步分析; |
1. 需求描述
1.1 背景
功耗分析中,获取到的日志文件一般为BugReport、MTK日志、高通日志文件,有时日志文件很大(10多天数据);有时文件中又包含多个zip文件,需要解压再进行搜索;有时遇到客退机器一般是没有BugReport等等;
且功耗问题往往需要从多纬度多场景分析,故经常需要查看多个文件。
为了方便快速检索,我们希望有这样的工具:对所有日志文件根据时间段和关键字进行归类显示,方便快速分析某一时间段内的功耗异常。
1.2 需求
需求:输入一段时间,在文件中搜索一组关键字,将这一时间段内的所有包含关键字的数据保存到文件中;
1.搜索源:BugReport、MTK日志、高通日志文件
2.输入变量:开始时间戳、结束时间戳、正则搜索的关键字
3.输出结果:
- 输出文件名格式:开始时间-结束时间_关键字.txt
- 输出内容:
- 按文件名字母排序,依次列出每个文件对应的搜索结果;
- 结尾处统计每个关键字出现的次数;
其他:
1.有些日志文件Kernel Log 没有时间戳,需要先进行时间转化,再搜索;
2.BugReport 的BatteryStats需要先进行时间戳转化,再搜索;
2. 例子参考
目的:分析待机功耗
原料:MTK日志、高通日志、BugReport文件
1. 过滤出所有灭屏时间段,按顺序排列出来,并标记起始时间和灭屏时长;
2. 过滤出每个灭屏时间段内,持锁和释放锁的事件,尤其是超过1秒的持锁;
3. 过滤出每个灭屏时间段内,使用TCP和UDP联网的事件;
4. 过滤出每个灭屏时间段内,Kenel相关的唤醒日志;
5. 过滤出每个灭屏时间段内,系统所有的Broadcast事件,例如网络变化广播
6. 过滤出每个灭屏时间段内,系统所有的Service事件,例如Sync服务更新
7. 过滤出每个灭屏时间段内,系统所有的报错信息
8. 过滤出每个灭屏时间段内,新进程被启动情况和数量
9. 过滤出每个灭屏时间段内,电量变化大小,尤其是出现电量跳变现象
10. 统计出整份日志中,打印最多的top 5 相似日志信息,并标记数量
综合上述条件
1. 通过每个灭屏段内的电量变化,初步判断是否存在待机异常;
2. 根据对应灭屏段内的分类条件,初步筛选出功耗可疑点;
备注:功耗问题在不同环境不同操作手法不同软件不同apk表现的特征都是不一样的,一般还是需要具体问题具体分析。
需求应该来说:一个输入指定时间段内,正则搜索关键字,然后在一大堆日志文件中,归纳出这个时间段内所有关键字信息的需求