{"id":14979919,"url":"https://github.com/qihoo360/argusapm","last_synced_at":"2025-05-15T14:06:50.351Z","repository":{"id":43946480,"uuid":"159286067","full_name":"Qihoo360/ArgusAPM","owner":"Qihoo360","description":"Powerful, comprehensive (Android) application performance management platform. 360线上移动性能检测平台","archived":false,"fork":false,"pushed_at":"2019-05-09T06:22:08.000Z","size":16968,"stargazers_count":2690,"open_issues_count":31,"forks_count":422,"subscribers_count":84,"default_branch":"master","last_synced_at":"2025-04-07T17:05:51.901Z","etag":null,"topics":["android","apm","argusapm","aspectj","gradle","java","kotlin","kotlin-android","performance","performance-management","plugin"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Qihoo360.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-11-27T06:20:01.000Z","updated_at":"2025-04-01T07:11:14.000Z","dependencies_parsed_at":"2022-08-12T10:52:06.613Z","dependency_job_id":null,"html_url":"https://github.com/Qihoo360/ArgusAPM","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qihoo360%2FArgusAPM","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qihoo360%2FArgusAPM/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qihoo360%2FArgusAPM/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qihoo360%2FArgusAPM/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Qihoo360","download_url":"https://codeload.github.com/Qihoo360/ArgusAPM/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247694872,"owners_count":20980733,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","apm","argusapm","aspectj","gradle","java","kotlin","kotlin-android","performance","performance-management","plugin"],"created_at":"2024-09-24T14:00:54.794Z","updated_at":"2025-04-07T17:05:57.615Z","avatar_url":"https://github.com/Qihoo360.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg alt=\"ArgusAPM Logo\" src=\"https://github.com/Qihoo360/ArgusAPM/blob/master/doc/img/readme/ArgusAPM.jpeg\" width=\"400\"/\u003e\n\u003c/p\u003e\n\n[![license](http://img.shields.io/badge/license-Apache2.0-brightgreen.svg?style=flat)](https://github.com/Qihoo360/ArgusAPM/blob/master/LICENSE)\n[![Release Version](https://img.shields.io/badge/release-3.0.1.1001-brightgreen.svg)](https://bintray.com/argusapm/argusapm/argus-apm-gradle-asm)\n\n**360开源又一力作——ArgusAPM移动性能监控平台**\n\n**公告**\n\n**由于公司业务调整及成本等原因，ArgusAPM停止支持服务端的免费接入服务。对于已经接入的产品不受影响（可以继续免费使用），只是不再新增了！\n本项目是个技术类的开源项目，停止服务端接入不会对开源项目本身产生影响，之前的接入文档大家也可以在自己项目里做参考。**\n\n**项目背景**\n\nArgusAPM是360手机卫士客户端团队继RePlugin之后开源的又一个重量级开源项目。ArgusAPM是360移动端产品使用的可视化性能监控平台，为移动端APP提供性能监控与管理，可以迅速发现和定位各类APP性能和使用问题，帮助APP不断的提升用户体验。\n\n\n**产品价值**\n\n- 实时掌控应用性能\n- 降低性能定位成本\n- 有效提升用户体验\n\n**监控模块**\n\nArgusAPM目前支持如下性能指标：\n\n- 交互分析：分析Activity生命周期耗时，帮助提升页面打开速度，优化用户UI体验\n- 网络请求分析：监控流量使用情况，发现并定位各种网络问题\n- 内存分析：全面监控内存使用情况，降低内存占用\n- 进程监控：针对多进程应用，统计进程启动情况，发现启动异常（耗电、存活率等）\n- 文件监控：监控APP私有文件大小/变化，避免私有文件过大导致的卡顿、存储空间占用等问题\n- 卡顿分析：监控并发现卡顿原因，代码堆栈精准定位问题，解决明显的卡顿体验\n- ANR分析：捕获ANR异常，解决APP的“未响应”问题\n\n**ArgusAPM特性**\n\n- **非侵入式**\n\n​\t无需修改原有工程结构，无侵入接入，接入成本低。\n\n- **无性能损耗**\n\n​\tArgusAPM针对各个性能采集模块，优化了采集时机，在不影响原有性能的基础上进行性能的采集和分析。\n\n- **监控全面**\n\n​\t目前支持UI性能、网络性能、内存、进程、文件、卡顿、ANR等各个维度的性能数据分析，后续还会继续增加新的性能维度。\n\n- **Debug模式**\n\n​\t独有的Debug模式，支持开发和测试阶段、实时采集性能数据，实时本地分析的能力，帮助开发和测试人员在上线前解决性能问题。\n\n- **支持插件化方案**\n\n​\t在初始化阶段进行设置，可支持插件接入，目前360手机卫士采用的就是在RePlugin插件中接入ArgusAPM，并且性能方面无影响。\n\n- **支持多进程采集**\n\n​\t针对多进程的情况，我们做了相应的数据采集及优化方案，使ArgusAPM即适合单进程APP也适合多进程APP。\n\n- **节省用户流量**\n\n​\tArgusAPM使用wifi状态下上传性能数据，这样避免了频繁网络请求带来的耗电问题及用户流量的消耗。\n\n**ArgusAPM项目结构图**\n\n\n\n![](https://raw.githubusercontent.com/Qihoo360/ArgusAPM/master/doc/img/readme/ArgusAPM架构图.png)\n\n整体架构分为两部分：一是左边蓝色的部分：性能采集模块，一是右边的绿色部分：Gradle Plugin模块。\n\n下面分别针对这两部分做简单的介绍：\n\n一. 性能采集模块\n\n该模块总共分为五个Module，并最终生成三个aar文件，即：\n\nargus-apm-main.aar：APM项目的核心业务模块\n\nargus-apm-aop.aar：AOP代码的织入模块\n\nargus-apm-okhttp.aar：采集OKHTTP网络性能\n\n其中之所以拆分那么多的模块，是为了能够让我们可插拔式的去使用里面的功能，例如，如果我项目中没有使用OKHTTP相关的功能，那么我们就可以关闭相应的依赖。\n\n二. Gradle Plugin模块\n\n该模块主要具备两个作用：\n\n1. 支持AOP编程，方便ArgusAPM能够在编译期织入一些性能采集的代码；\n\n2. 通过Gradle插件来管理依赖库，使用户接入ArgusAPM更简单。\n\n   ![](https://raw.githubusercontent.com/Qihoo360/ArgusAPM/master/doc/img/readme/Gradle_APM.png)\n\n最终，我们在接入ArgusAPM的时候，只需要简单的应用插件即可，而不需要再单独的去依赖各个aar文件。\n\n**如何使用**\n\n如果您想快速的接入ArgusAPM，请参考[《三分钟快速接入ArgusAPM》](https://github.com/Qihoo360/ArgusAPM/wiki/%E4%B8%89%E5%88%86%E9%92%9F%E5%BF%AB%E9%80%9F%E6%8E%A5%E5%85%A5)，依照文章指引，快速接入；\n\n如果您想了解更多的ArgusAPM的使用技巧，请参考[《详细接入教程》](https://github.com/Qihoo360/ArgusAPM/wiki/%E7%A7%BB%E5%8A%A8%E6%80%A7%E8%83%BD%E7%9B%91%E6%8E%A7-SDK-%E8%AF%A6%E7%BB%86%E9%9B%86%E6%88%90%E6%96%87%E6%A1%A3)；\n\n如果您想参查看官方的Sample，进而了解具体的用法，请点击这里查看[《Sample》](https://github.com/Qihoo360/ArgusAPM/tree/master/argus-apm/argus-apm-sample);\n\n如果您在接入ArgusAPM的过程中遇到问题，请点击这里阅读[《FAQ》](https://github.com/Qihoo360/ArgusAPM/wiki/FAQ)，也可加入我们官方的QQ群，进行咨询。\n\n**使用现状**\n\n| ![手机卫士](https://raw.githubusercontent.com/Qihoo360/ArgusAPM/master/doc/img/readme/mobilesafe.png) | ![清理大师](https://raw.githubusercontent.com/Qihoo360/ArgusAPM/master/doc/img/readme/clean.png) | ![手机助手](https://raw.githubusercontent.com/Qihoo360/ArgusAPM/master/doc/img/readme/appstore.png) | ![影视大全](https://raw.githubusercontent.com/Qihoo360/ArgusAPM/master/doc/img/readme/movie.png) | ![花椒相机](https://raw.githubusercontent.com/Qihoo360/ArgusAPM/master/doc/img/readme/camera.png) | ![360手游大厅](https://raw.githubusercontent.com/Qihoo360/ArgusAPM/master/doc/img/readme/201736165776251_meitu_1.jpg) |\n| :---------------------------------: | :---------------------------------: | :----------------------------: | :----------------------------: | :---------------------: | :--------------------------------------: |\n|              手机卫士               |            清理大师            |            手机助手            |            影视大全            |        花椒相机         |                 游戏大厅                 |\n\n**未来规划**\n\n- 支持更多的性能指标\n- 提升用户体验\n\n**官方QQ群**\n\n\u003cp align=\"left\"\u003e\n  \u003cimg alt=\"ArgusAPM Logo\" src=\"https://raw.githubusercontent.com/Qihoo360/ArgusAPM/master/doc/img/readme/qrcode_1542008553175.jpg\" width=\"300\"/\u003e\n\u003c/p\u003e\n\n**360移动技术微信公众号“奇卓社”**\n\u003cp align=\"left\"\u003e\n  \u003cimg alt=\"ArgusAPM Logo\" src=\"https://raw.githubusercontent.com/Qihoo360/ArgusAPM/master/doc/img/readme/qizhuoshe_344.jpg\" width=\"300\" height=\"300\"/\u003e\n  \n## License\n\nArgusAPM is [Apache v2.0 licensed](./LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqihoo360%2Fargusapm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqihoo360%2Fargusapm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqihoo360%2Fargusapm/lists"}