Another masterpiece of 360 open source - ArgusAPM mobile performance monitoring platform
announcement
Due to the company's business adjustment and cost reasons, ArgusAPM stopped supporting free access services on the server side. Products already connected will not be affected (you can continue to use them for free), but they will no longer be added! This project is a technical open source project. Stopping server access will not have an impact on the open source project itself. You can also use the previous access documents as a reference in your own projects.
Project background
ArgusAPM is another heavyweight open source project developed by the 360 Mobile Guard client team after RePlugin. ArgusAPM is a visual performance monitoring platform used by 360 mobile products. It provides performance monitoring and management for mobile APPs. It can quickly discover and locate various APP performance and usage problems, and help APPs continuously improve user experience.
product value
Monitoring module
ArgusAPM currently supports the following performance indicators:
ArgusAPM features
There is no need to modify the original engineering structure, no intrusion access, and low access cost.
ArgusAPM optimizes the collection timing for each performance collection module, and performs performance collection and analysis without affecting the original performance.
Currently, it supports performance data analysis in various dimensions such as UI performance, network performance, memory, process, file, lag, ANR, etc., and new performance dimensions will be added in the future.
The unique Debug mode supports the development and testing stages, real-time collection of performance data, and real-time local analysis capabilities to help developers and testers solve performance problems before going online.
Set during the initialization stage to support plug-in access. Currently, 360 Mobile Guard uses ArgusAPM in the RePlugin plug-in, and there is no impact on performance.
In view of the multi-process situation, we have made corresponding data collection and optimization plans, making ArgusAPM suitable for both single-process and multi-process APPs.
ArgusAPM uses wifi to upload performance data, which avoids the power consumption problem and user traffic consumption caused by frequent network requests.
ArgusAPM project structure chart
The overall architecture is divided into two parts: one is the blue part on the left: the performance collection module, and the other is the green part on the right: the Gradle Plugin module.
The following is a brief introduction to these two parts respectively:
1. Performance collection module
This module is divided into five Modules in total, and finally generates three aar files, namely:
argus-apm-main.aar: The core business module of the APM project
argus-apm-aop.aar: Weaving module for AOP code
argus-apm-okhttp.aar: Collect OKHTTP network performance
The reason why so many modules are split is to allow us to use the functions inside in a pluggable manner. For example, if OKHTTP-related functions are not used in my project, then we can turn off the corresponding dependencies.
2. Gradle Plugin module
This module mainly has two functions:
Supports AOP programming, allowing ArgusAPM to weave in some performance collection code during compilation;
Dependent libraries are managed through the Gradle plug-in, making it easier for users to access ArgusAPM.
In the end, when we connect to ArgusAPM, we only need to apply simple plug-ins, and no longer need to rely on each aar file separately.
How to use
If you want to quickly access ArgusAPM, please refer to "Quickly Access ArgusAPM in Three Minutes" and follow the article's guidelines to quickly access;
If you want to know more about using ArgusAPM, please refer to the "Detailed Access Tutorial";
If you want to check out the official Sample and learn about the specific usage, please click here to view "Sample";
If you encounter problems when accessing ArgusAPM, please click here to read the FAQ, or join our official QQ group for consultation.
Current usage
Mobile Guard | Cleanup Master | mobile assistant | Film and television collection | pepper camera | Game lobby |
future plans
Official QQ group
360 Mobile Technology WeChat public account "Qizhuoshe"
ArgusAPM is Apache v2.0 licensed.