写点什么

360 重磅开源性能监控平台 ArgusAPM

  • 2018-12-17
  • 本文字数:1444 字

    阅读完需:约 5 分钟

360重磅开源性能监控平台ArgusAPM

12 月 16 日,在 360 移动性能开放日上,360 手机卫士技术架构负责人卜云涛向我们介绍了 360 最新开源的性能监控平台 ArgusAPM。ArgusAPM 是 360 手机卫士客户端团队继 RePlugin 之后开源的又一个重量级开源项目。ArgusAPM 是 360 移动端产品使用的可视化性能监控平台,为移动端 APP 提供性能监控与管理,可以迅速发现和定位各类 APP 性能和使用问题,帮助 APP 不断的提升用户体验。


GitHub 地址:https://github.com/Qihoo360/ArgusAPM

产品价值

  • 实时掌控应用性能

  • 降低性能定位成本

  • 有效提升用户体验

监控模块

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


  • 交互分析:分析 Activity 生命周期耗时,帮助提升页面打开速度,优化用户 UI 体验;

  • 网络请求分析:监控流量使用情况,发现并定位各种网络问题;

  • 内存分析:全面监控内存使用情况,降低内存占用;

  • 进程监控:针对多进程应用,统计进程启动情况,发现启动异常(耗电、存活率等);

  • 文件监控:监控 APP 私有文件大小/变化,避免私有文件过大导致的卡顿、存储空间占用等问题;

  • 卡顿分析:监控并发现卡顿原因,代码堆栈精准定位问题,解决明显的卡顿体验;

  • ANR 分析:捕获 ANR 异常,解决 APP 的“未响应”问题。

ArgusAPM 特性

  • 非侵入式


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


  • 无性能损耗


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


  • 监控全面


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


  • Debug 模式


独有的 Debug 模式,支持开发和测试阶段、实时采集性能数据,实时本地分析的能力,帮助开发和测试人员在上线前解决性能问题。


  • 支持插件化方案


在初始化阶段进行设置,可支持插件接入,目前 360 手机卫士采用的就是在 RePlugin 插件中接入 ArgusAPM,并且性能方面无影响。


  • 支持多进程采集


针对多进程的情况,我们做了相应的数据采集及优化方案,使 ArgusAPM 即适合单进程 APP 也适合多进程 APP。


  • 节省用户流量


ArgusAPM 使用 wifi 状态下上传性能数据,这样避免了频繁网络请求带来的耗电问题及用户流量的消耗。

ArgusAPM 项目结构图


整体架构分为两部分:一是左边蓝色的部分:性能采集模块,一是右边的绿色部分:Gradle Plugin 模块。


下面分别针对这两部分做简单的介绍:


1.性能采集模块


该模块总共分为五个 Module,并最终生成三个 aar 文件,即:


argus-apm-main.aar:APM 项目的核心业务模块


argus-apm-aop.aar:AOP 代码的织入模块


argus-apm-okhttp.aar:采集 OKHTTP 网络性能


其中之所以拆分那么多的模块,是为了能够让我们可插拔式的去使用里面的功能,例如,如果我项目中没有使用 OKHTTP 相关的功能,那么我们就可以关闭相应的依赖。


2.Gradle Plugin 模块


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


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


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



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

如何使用

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


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


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


如果您在接入 ArgusAPM 的过程中遇到问题,请阅读《FAQ》


具体详情参见:


https://github.com/Qihoo360/ArgusAPM/wiki

使用现状

未来规划

支持更多的性能指标


完善 DC 平台分析维度


提升用户体验


2018-12-17 07:0010837

评论 4 条评论

发布
用户头像
文档简单浏览了一遍,目前支持的功能貌似有限,比如小程序,还有 Java 后端的如何接入在文档没找到;不过大方向正确的,期待中国诞生越来越多的APM产商;国内有没哪家的日志与监控可以媲美 Datadog 的,推荐推荐。。
2018-12-19 13:03
回复
用户头像
真心怕,不知不觉安装个360全家桶!!!
2018-12-17 19:49
回复
🤣🤣🤣
2020-05-05 10:35
回复
没有更多了
发现更多内容

消灭指标二义性!提效30%的指标管理如何炼成?

奇点云

奇点云 数据云操作系统 指标标签

解析设计模式与设计原则:构建可维护性和可扩展性代码的重要性

华为云开发者联盟

开发 华为云 华为云开发者联盟

对话在行人 | 微乘科技:升级数智底座,从管控向“管理+服务”转变

用友BIP

2023全球商业创新大会 对话在行人

记一次MySQL5初始化被kill的问题排查 | 京东云技术团队

京东科技开发者

MySQL 数据库 企业号10月PK榜

Opencv入门篇:简介与基本使用 | 京东物流技术团队

京东科技开发者

Python OpenCV 计算机视觉 企业号10月PK榜

AI原生应用速通指南

百度Geek说

App 百度文库 AIGC 企业号10月PK榜

浅谈东数西算战略中,发挥算网大脑作用的4个关键点

鲸品堂

东数西算 算力网络 企业号10月PK榜

如何使用GaussDB(DWS)的本地临时表进行数据处理

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 本地临时表

用友Fast by BIP助力公交企业降本增效,数智运营!

用友BIP

火山引擎ByteHouse:双十一即将到来,如何用数据分析提升电商平台销售转化?

字节跳动数据平台

大数据 数据仓库 云原生 电商

林旅强 | AI+开源时代 - 开发者与治理者的机遇与挑战

开源雨林

人工智能 开源 开发者 超级个体

财政部办公厅发布公立医院内控建设征求意见函 信息化成为内控建设重要抓手

用友BIP

数智医疗

太强了!三种方案优化 2000w 数据大表!

互联网工科生

数据库

叮!你有一份1024程序员节的通关秘籍待查收!

飞桨PaddlePaddle

1024程序员节

水务行业管理与服务数智化升级,用友Fast by BIP在行!

用友BIP

Fast by BIP 水务行业

DHorse v1.4.2 发布,基于 k8s 的发布平台

tiandizhiguai

驱动数字化转型,Doris Summit Asia 2023 智慧金融与政企论坛精彩预告!

SelectDB

数据库 大数据 数据分析 实时数仓 apache doris

设计模式之策略模式:让你的代码灵活应对不同的算法 | 京东云技术团队

京东科技开发者

算法 设计模式 策略模式 企业号10月PK榜

城投行业融资迈向“筹融用管还评”卓越循环,用友Fast by BIP 很在行

用友BIP

Fast by BIP 城投行业

Vulkan 同步

江湖修行

android OpenGL ES 渲染 移动端开发 vulkan

图文详解!带你认识 ancert:硬件兼容性标准实现工具!| 龙蜥技术

OpenAnolis小助手

开源 操作系统 龙蜥社区 Ancert 硬件兼容性

360重磅开源性能监控平台ArgusAPM_开源_卜云涛_InfoQ精选文章