Argusapm
Powerful, comprehensive (Android) application performance management platform. 360线上移动性能检测平台
Under Apache License 2.0
By Qihoo360
Powerful, comprehensive (Android) application performance management platform. 360线上移动性能检测平台
Under Apache License 2.0
By Qihoo360
360开源又一力作——ArgusAPM移动性能监控平台
公告
由于公司业务调整及成本等原因,ArgusAPM停止支持服务端的免费接入服务。对于已经接入的产品不受影响(可以继续免费使用),只是不再新增了!
本项目是个技术类的开源项目,停止服务端接入不会对开源项目本身产生影响,之前的接入文档大家也可以在自己项目里做参考。
项目背景
ArgusAPM是360手机卫士客户端团队继RePlugin之后开源的又一个重量级开源项目。ArgusAPM是360移动端产品使用的可视化性能监控平台,为移动端APP提供性能监控与管理,可以迅速发现和定位各类APP性能和使用问题,帮助APP不断的提升用户体验。
产品价值
监控模块
ArgusAPM目前支持如下性能指标:
ArgusAPM特性
无需修改原有工程结构,无侵入接入,接入成本低。
ArgusAPM针对各个性能采集模块,优化了采集时机,在不影响原有性能的基础上进行性能的采集和分析。
目前支持UI性能、网络性能、内存、进程、文件、卡顿、ANR等各个维度的性能数据分析,后续还会继续增加新的性能维度。
独有的Debug模式,支持开发和测试阶段、实时采集性能数据,实时本地分析的能力,帮助开发和测试人员在上线前解决性能问题。
在初始化阶段进行设置,可支持插件接入,目前360手机卫士采用的就是在RePlugin插件中接入ArgusAPM,并且性能方面无影响。
针对多进程的情况,我们做了相应的数据采集及优化方案,使ArgusAPM即适合单进程APP也适合多进程APP。
ArgusAPM使用wifi状态下上传性能数据,这样避免了频繁网络请求带来的耗电问题及用户流量的消耗。
ArgusAPM项目结构图
整体架构分为两部分:一是左边蓝色的部分:性能采集模块,一是右边的绿色部分:Gradle Plugin模块。
下面分别针对这两部分做简单的介绍:
一. 性能采集模块
该模块总共分为五个Module,并最终生成三个aar文件,即:
argus-apm-main.aar:APM项目的核心业务模块
argus-apm-aop.aar:AOP代码的织入模块
argus-apm-okhttp.aar:采集OKHTTP网络性能
其中之所以拆分那么多的模块,是为了能够让我们可插拔式的去使用里面的功能,例如,如果我项目中没有使用OKHTTP相关的功能,那么我们就可以关闭相应的依赖。
二. Gradle Plugin模块
该模块主要具备两个作用:
支持AOP编程,方便ArgusAPM能够在编译期织入一些性能采集的代码;
通过Gradle插件来管理依赖库,使用户接入ArgusAPM更简单。
最终,我们在接入ArgusAPM的时候,只需要简单的应用插件即可,而不需要再单独的去依赖各个aar文件。
如何使用
如果您想快速的接入ArgusAPM,请参考《三分钟快速接入ArgusAPM》,依照文章指引,快速接入;
如果您想了解更多的ArgusAPM的使用技巧,请参考《详细接入教程》;
如果您想参查看官方的Sample,进而了解具体的用法,请点击这里查看《Sample》;
如果您在接入ArgusAPM的过程中遇到问题,请点击这里阅读《FAQ》,也可加入我们官方的QQ群,进行咨询。
使用现状
| | | | | | |
| :---------------------------------: | :---------------------------------: | :----------------------------: | :----------------------------: | :---------------------: | :--------------------------------------: |
| 手机卫士 | 清理大师 | 手机助手 | 影视大全 | 花椒相机 | 游戏大厅 |
未来规划
官方QQ群
360移动技术微信公众号“奇卓社”
## License
ArgusAPM is [Apache v2.0 licensed](./LICENSE).