battery-historian介绍
Battery-Historian是谷歌推出的一款专门分析Bugreport的工具,是谷歌2015年I/O大会上推出的一款检测运行在android5.0(Lollipop)及以后版本的设备上电池的相关信息和事件的工具,是一款对于分析手机状态,历史运行情况很好的可视化分析工具,当设备在使用电池的时候,它可以使用开发者们看到系统级和应用级事件图表,在图表时间轴上可以缩放和平移,能够直观的看到自上一次充满电到现在设备电池的统计汇总信息,它可以选中一个应用程序来检查该应用影响电池电量的一些参数,并且可以对比两个bugreport文件信息分析,并对其电池关键区别点做高亮显示。将bugreport提交后battery-historian会自动进行分析。
battery-historian横坐标代表时间,纵坐标内容较多,在下面介绍
battery_level
电量,可以看出电量的变化。
plugged
充电状态,这一栏显示是否进行了充电,以及充电的时间范围。
screen
屏幕是否点亮,这一点可以考虑到睡眠状态和点亮状态下电量的使用信息。
top
该栏显示当前时刻哪个app处于最上层,就是当前手机运行的app,用来判断某个app对手机电量的影响,这样也能判断出该app的耗电量信息。该栏记录了应用在某一个时刻启动,以及运行的时间,这对我们比对不同应用对性能的影响有很大的帮助。
wake_lock*
wake_lock 该属性是记录wake_lock模块的工作时间。是否有停止的时候等
running
界面的状态,主要判断是否处于idle的状态。用来判断无操作状态下电量的消耗。
wake_lock_in
wake_lock有不同的组件,这个地方记录在某一个时刻,有哪些部件开始工作,以及工作的时间。
gps
gps是否开启
phone_in_call
是否进行通话
Sync
是否跟后台同步.
Job
后台的工作,比如服务service的运行。
data_conn
数据连接方式的改变,上面的edge是说明采用的gprs的方式连接网络的。此数据可以看出手机是使用2g,3g,4g还是wifi进行数据交换的。这一栏可以看出不同的连接方式对电量使用的影响。
status
电池状态信息,有充电,放电,未充电,已充满,未知等不同状态。
这一栏记录了电池状态的改变信息。
phone_signal_strength
手机信号状态的改变。
这一栏记录手机信号的强弱变化图,依次来判断手机信号对电量的影响。
health
电池健康状态的信息,这个信息一定程度上反映了这块电池使用了多长时间。
这一栏记录电池状态在何时发生改变,上面的图中电池状态一直处于good状态。
plug
充电方式,usb或者插座,以及显示连接的时间。
这一栏显示了不同的充电方式对电量使用的影响。
battery-historian环境配置流程
该工具的官方搭建途径需要用到github,docker等工具以及链接外网,由于目前条件的限制可能不太好实现,因此我总结出了本地不需要连外网即可成功搭建的方法,并且将所有需要的工具一并打包提供,所以只需要跟着本教程的流程执行即可在本地搭建出Battery-Historian工具。
在附件中已经为大家提供了所有需要安装的文件:1-go1.18.4.windows-amd64.msi;Git-2.38.1-64-bit.exe;Go.7z;python-2.7.12.amd64.msi
解压batteryhistorian.rar即可获得,获取方式见文章结尾。
1.分别安装go环境,git,以及7(必须是2.7),安装包已给出
双击运行1-go1.18.4.windows-amd64.msi
按照指引安装即可
双击运行Git-2.38.1-64-bit.exe
按照指引安装即可
双击运行python-2.7.12.amd64.msi
按照指引安装即可,一定要安装python2.7
2.解压go.7z压缩包到任意位置
解压后内容如图所示,包含两个文件夹pck和src
3.配置环境变量GOPATH,GOROOT,GOBIN如图
在我的电脑图标上单击鼠标右键,选择“属性”,然后选择“高级”,“环境变量”即可设置更改环境变量
从图中可以看到当前的GOPATH为C:\Users\XADZ0013\go (这里在安装完go环境后应该就有了,没有的话手动添加一下)
手动添加GOBIN C:\Program Files\Go\bin
GOROOT C:\Program Files\Go
然后在用户变量的path中添加%USERPROFILE%\go\bin
再在系统变量中添加GOPATH和GOROOT(同上)
以及在系统变量的path中添加C:\Program Files\Go\bin
4.将go.7z解压出的文件替换进C盘下User目录中当前PC用户名下go文件夹内
我的本地电脑GOPATH路径为C:\Users\XADZ0013\go 进入该文件夹
将刚才解压出的两个文件替换进来即可。
5.进入C盘下User目录中当前PC用户名下go文件夹的src\github.com\google\battery-historian路径,即C:\Users\XADZ0013\go\src\github.com\google\battery-historian按住shift,使用powershell打开当前页面
然后执行go run .\cmd\battery-historian\battery-historian.go 多敲两次回车,如无反应按一下ctrl+c,直到出现报告监听端口的log,然后弹出的网络许可点击允许即可。
6.打开chrome,进入http://localhost:9999/
即可访问battery-historian
至此,我们就可以使用battery-historian工具解析bugreport或batterystats来分析功耗问题了。
附件获取:
链接:https://pan.baidu.com/s/1ZkcjdBBFyA9YLCp4XgTEnA?pwd=WWZZ
提取码:WWZZ