rabbit 是一个Android APM框架(工具), 它不仅可以让开发者很方便的在本地对App做性能监控,
也提供了完整的数据上报系统。目前包含的主要功能如下图:
本文将对rabbit
的功能做一个简单的介绍,详细的使用文档地址: 使用文档
多图警告⚠️⚠️⚠️
功能介绍
应用测速
通过编译时代码插桩, rabbit
可以非常方便的统计应用的冷启动时间与页面渲染时间。测速统计的关键时间点定义如下图:
应用启动耗时统计
在对应用主页进行配置后,rabbit
可以统计出如下图所示的冷启动耗时:
页面渲染与网络请求耗时统计
与网络请求耗时结合后,rabbit
可以统计出一个页面的完全渲染耗时。这里的完全渲染耗时是指:从页面create到页面拿到请求结果并刷新页面所用的时间。核心思想参考自:Android自动化页面测速在美团的实践,最终统计的页面耗时如下图所示:
慢函数检测
基于编译时代码插桩, rabbit可以准确的统计每一个函数的耗时,并筛选出慢函数。
慢函数定义为: 在主线程消耗时间超过一定阈值的函数(rabbit也支持配置检测其他线程的慢函数)。
rabbit
支持分包检测慢函数:
支持查看每一个包下的慢函数列表以及每一个