本文介绍如何快速将移动性能监控(Application Performance Management,APM)组件接入到 Android 客户端。APM 支持原生 AAR 和组件化(Portal & Bundle)两种接入方式。
完整的接入过程分为以下三步:
前提条件
确保 mPaaS 基线版本为 10.1.68.44 或以上版本。
已将 mPaaS 接入到工程,不同接入方式的操作不同:
若采用原生 AAR 方式接入,需要先 将 mPaaS 添加到项目中。
若采用组件化方式接入,需要先完成 组件化接入流程。
如需使用 RPC 性能监控功能,需接入移动网关组件。具体操作参见 接入移动网关服务。
如需使用自动化页面性能监控、应用启动速度监控功能、闪退监控功能、卡顿监控功能、卡死监控功能,需接入移动分析组件。具体操作参见 接入移动分析服务。
如需使用 H5 性能监控功能,需接入 H5 容器。具体操作参见 接入H5容器。
如需使用小程序性能监控功能,需接入小程序。具体操作参见 接入小程序。
添加 SDK
不同接入方式下,SDK 的添加方式略有不同。
原生 AAR 方式
参考 管理组件依赖(原生 AAR),通过 组件管理(AAR)在工程中安装 APM 组件。
组件化方式(Portal & Bundle)
在 Portal 和 Bundle 工程中通过 组件管理 安装 APM 组件。更多信息,请参考 管理组件依赖。
初始化 mPaaS
如果使用原生 AAR 接入方式,则需要初始化 mPaaS,即在
Application
对象中添加以下代码。public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); // mPaaS 初始化 MP.init(this); } }
详情请参考:初始化 mPaaS。
如果使用组件化接入方式,mPaaS 框架会自动初始化,您无需进行任何操作。
使用性能监控功能
开启 RPC 性能监控
如果已经接入了移动网关组件,可以开启 RPC 性能监控。
MPMonitor.enableRpcMonitor();
开启自定义网络性能监控
如果使用了其他第三方或自定义的网络库,可以通过埋点上报网络性能数据。
// 开启自定义网络性能监控开关
MPMonitor.enableNetMonitor();
// 针对每个网络请求,自主上报性能信息
String url = "xxxx.com/test"; // 请求的 URL
long duration = 1234; // 请求耗时,单位为 ms
int responseCode = 200; // 响应码
MPMonitor.recordNetPerf(url, duration, responseCode);
开启自动化页面性能监控
如果已经接入了移动分析组件,并且开启了 自动化日志,APM 将会自动开启自动化页面性能监控。
开启应用启动速度监控
如果已经接入了移动分析组件,可以在应用首页 Activity 的 onCreate()
方法中调用以下接口。
MPLogger.reportLaunchTime(Context context);
开启 H5 性能监控
接入 H5 容器后,H5 容器会自动上报性能监控数据,无需您手动埋点。
开启闪退监控
如果已经接入了移动分析组件,APM 会自动捕获闪退信息并上传日志到服务端,无需处理。
开启卡顿监控
卡顿是指 Android 主线程超过 2.25 秒仍未执行完一个方法。
接入移动分析组件后,应用的 Activity 需要继承 mPaaS 提供的类 BaseActivity
、BaseFragmentActivity
或 BaseAppCompatActivity
,APM 就能监控这些 Activity 上出现的卡顿。
APK 为 debug 包时,卡顿监控为全量统计。
APK 为 release 包时,卡顿监控为采样统计,采样率 10%。
开启卡死监控
卡死分为启动卡死和 ANR 卡死两种情况。启动卡死指 App 启动后 30 秒内未能离开欢迎页和进入首页;ANR 卡死指系统 ANR 卡死。
接入移动分析组件后,应用的 Activity 需要继承 mPaaS 提供的类 BaseActivity
BaseFragmentActivity
或 BaseAppCompatActivity
,APM 就能监控这些 Activity 上出现的卡死。
启动卡死仅 Portal & Bundle 接入方式能监控到。
开启小程序监控
接入小程序后,小程序会自动上报性能监控数据,无需您手动埋点。