Awesome Open Source
Awesome Open Source

ArgusAPM Logo

license Release Version

360开源又一力作——ArgusAPM移动性能监控平台

公告

由于公司业务调整及成本等原因,ArgusAPM停止支持服务端的免费接入服务。对于已经接入的产品不受影响(可以继续免费使用),只是不再新增了! 本项目是个技术类的开源项目,停止服务端接入不会对开源项目本身产生影响,之前的接入文档大家也可以在自己项目里做参考。

项目背景

ArgusAPM是360手机卫士客户端团队继RePlugin之后开源的又一个重量级开源项目。ArgusAPM是360移动端产品使用的可视化性能监控平台,为移动端APP提供性能监控与管理,可以迅速发现和定位各类APP性能和使用问题,帮助APP不断的提升用户体验。

产品价值

  • 实时掌控应用性能
  • 降低性能定位成本
  • 有效提升用户体验

监控模块

ArgusAPM目前支持如下性能指标:

  • 交互分析:分析Activity生命周期耗时,帮助提升页面打开速度,优化用户UI体验
  • 网络请求分析:监控流量使用情况,发现并定位各种网络问题
  • 内存分析:全面监控内存使用情况,降低内存占用
  • 进程监控:针对多进程应用,统计进程启动情况,发现启动异常(耗电、存活率等)
  • 文件监控:监控APP私有文件大小/变化,避免私有文件过大导致的卡顿、存储空间占用等问题
  • 卡顿分析:监控并发现卡顿原因,代码堆栈精准定位问题,解决明显的卡顿体验
  • ANR分析:捕获ANR异常,解决APP的“未响应”问题

ArgusAPM特性

  • 非侵入式

​ 无需修改原有工程结构,无侵入接入,接入成本低。

  • 无性能损耗

​ ArgusAPM针对各个性能采集模块,优化了采集时机,在不影响原有性能的基础上进行性能的采集和分析。

  • 监控全面

​ 目前支持UI性能、网络性能、内存、进程、文件、卡顿、ANR等各个维度的性能数据分析,后续还会继续增加新的性能维度。

  • Debug模式

​ 独有的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模块

该模块主要具备两个作用:

  1. 支持AOP编程,方便ArgusAPM能够在编译期织入一些性能采集的代码;

  2. 通过Gradle插件来管理依赖库,使用户接入ArgusAPM更简单。

最终,我们在接入ArgusAPM的时候,只需要简单的应用插件即可,而不需要再单独的去依赖各个aar文件。

如何使用

如果您想快速的接入ArgusAPM,请参考《三分钟快速接入ArgusAPM》,依照文章指引,快速接入;

如果您想了解更多的ArgusAPM的使用技巧,请参考《详细接入教程》

如果您想参查看官方的Sample,进而了解具体的用法,请点击这里查看《Sample》;

如果您在接入ArgusAPM的过程中遇到问题,请点击这里阅读《FAQ》,也可加入我们官方的QQ群,进行咨询。

使用现状

手机卫士 清理大师 手机助手 影视大全 花椒相机 360手游大厅
手机卫士 清理大师 手机助手 影视大全 花椒相机 游戏大厅

未来规划

  • 支持更多的性能指标
  • 提升用户体验

官方QQ群

ArgusAPM Logo

360移动技术微信公众号“奇卓社”

ArgusAPM Logo

License

ArgusAPM is Apache v2.0 licensed.


Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Java (698,605
Kotlin (62,108
Android (41,765
Plugin (10,178
Kotlin Android (3,205
Gradle (3,065
Performance (2,596
Apm (346
Aspectj (106
Performance Management (5
Related Projects