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行動科技微信公眾號“奇卓社”
ArgusAPM is Apache v2.0 licensed.