接入 Android

更新时间:
复制 MD 格式

本文介绍如何快速将移动性能监控(Application Performance Management,APM)组件接入到 Android 客户端。APM 支持原生 AAR 和组件化(Portal & Bundle)两种接入方式。

完整的接入过程分为以下三步:

  1. 添加 SDK

  2. 初始化 mPaaS

  3. 使用性能监控功能

前提条件

  • 确保 mPaaS 基线版本为 10.1.68.44 或以上版本。

  • 已将 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();
        //针对每个网络请求,自主上报性能信息
        Map<String, String> params=new HashMap<>();
        params.put("gwIP","xx");
        params.put("dnsTimeInterval","xx");
        params.put("rpcStatusCode","xx");
        params.put("transportTimeInterval","xx");
        params.put("tcpTimeInterval","xx");
        params.put("operationType","xx");
        params.put("httpStatusCode","xx");
        params.put("sslTimeInterval","xx");
        params.put("clientIP","xx");
        params.put("firstPackageTimeInterval","xx");
        params.put("downloadAverageSpeed","xx");
        params.put("traceId","13");
        params.put("totalRequestTimeInterval","xx");
        MPMonitor.recordNetPerf(params);

传入的参数包括:

参数

说明

totalRequestTimeInterval

总请求用时,单位为 ms。

dnsTimeInterval

DNS 解析耗时,单位为 ms。

tcpTimeInterval

TCP 建连耗时,单位为 ms。

SSLTimeInterval

SSL 建连耗时,单位为 ms。

firstPackageTimeInterval

首包用时,从发起请求到收到服务器第一个数据包所用的时间,单位为 ms。

transportTimeInterval

传输用时,从收到第一个数据包到最后一个数据包所用的时间,单位为 ms。

downloadAverageSpeed

下载资源文件的平均速度。

httpStatusCode

HTTP 调用状态码,200 表示正常。

rpcStatusCode

RPC 调用状态码,200 表示正常。

operationType

接口标识符,用于标识网关操作。

clientIP

客户端 IP。

gwIP

网关 IP。

traceId

客户端请求的链路 ID。

开启自动化页面性能监控

如果已经接入了移动分析组件,并且开启了 自动化日志,APM 将会自动开启自动化页面性能监控。

开启应用启动速度监控

如果已经接入了移动分析组件,可以在应用首页 Activity 的 onCreate() 方法中调用以下接口。

MPLogger.reportLaunchTime(Context context);

开启 H5 性能监控

接入 H5 容器后,H5 容器会自动上报性能监控数据,无需您手动埋点。

开启闪退监控

如果已经接入了移动分析组件,APM 会自动捕获闪退信息并上传日志到服务端,无需处理。

开启卡顿监控

卡顿是指 Android 主线程超过 2.25 秒仍未执行完一个方法。

接入移动分析组件后,应用的 Activity 需要继承 mPaaS 提供的类 BaseActivityBaseFragmentActivityBaseAppCompatActivity,APM 就能监控这些 Activity 上出现的卡顿。

  • APK 为 debug 包时,卡顿监控为全量统计。

  • APK 为 release 包时,卡顿监控为采样统计,采样率 10%。

开启卡死监控

卡死分为启动卡死和 ANR 卡死两种情况。启动卡死指 App 启动后 30 秒内未能离开欢迎页和进入首页;ANR 卡死指系统 ANR 卡死。

接入移动分析组件后,应用的 Activity 需要继承 mPaaS 提供的类 BaseActivityBaseFragmentActivityBaseAppCompatActivity,APM 就能监控这些 Activity 上出现的卡死。

说明

启动卡死仅 Portal & Bundle 接入方式能监控到。

开启小程序监控

接入小程序后,小程序会自动上报性能监控数据,无需您手动埋点。