APM 介紹

APM 全稱 Application Performance Management & Monitoring (應用性能管理/監控)

原理

Android APM 的原理其實非常簡單,用一句話總結就是:

依據打包原理,在 class 轉換爲 dex 的過程中,調用 gradle transform api 遍歷 class 文件,藉助 Javassist、ASM 等框架修改字節碼,插入我們自己的代碼實現性能數據的統計。

以上所有過程都是在編譯期完成的。

其實 Android 上的無痕埋點也是同樣的原理,區別只不過是我們 hook 的點不同,採集的數據不同,因此掌握了 APM 的實現原理同樣可以實現無痕埋點系統。

  • 成熟APM

    • 通用

    • 穩定,經過多家產品的驗證

  • 自建APM

    • 能夠個性化定製

    • 外部APM與內部系統系統難打通,帶來的時間成本

    • 數據需要掌握在自己手裏

優秀的平臺化實踐

  • crash手機平臺

    • bugly:native奔潰手機

  • APM

    • 博睿、聽雲、OneAPM、雲智慧

    • 聽雲:數據採集完善,方便接入

  • 自建APM:

    • 美團 攜程 360

工作流程:

  1. 首先在客戶端(Android、iOS、Web等)採集數據;
  2. 接着將採集到的數據整理上報到服務器;
  3. 服務器接收到數據後建模、存儲、挖掘分析,讓後將數據可視化,供用戶使用。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章