移动性能监控(APM)依赖移动分析客户端 SDK 来进行埋点,收集 App 性能相关数据生成日志并上报到服务端。根据 mPaaS 客户端与服务端协定的埋点数据格式,服务端从客户端上传的埋点日志中提取有效数据,从而实现对客户端各项指标的监控分析。
本文介绍如何在 HarmonyOS NEXT 客户端配置性能监控埋点,包括 网络监控、H5 性能监控、页面加载监控 和 启动速度监控。
前提条件
确保 mPaaS 基线版本 ≥ 10.2.3.30。
确保已接入移动分析组件。具体操作请参见 移动分析接入 HarmonyOS NEXT。
如需使用 H5 性能监控功能,需接入 H5 容器。具体操作参见 H5 容器接入 HarmonyOS NEXT。
性能监控
总初始化接口
性能监控的总初始化接口,调用之后无需再进行 Crash 和 ANR 监控初始化 和 启动卡死监控初始化,但需在启动完成后调用启动完成通知 MPRemoteLogger.startupFinish()。
import { MPRemoteLogger } from '@mpaas/masadapter';
/**
* 初始化性能监控埋点(包括 crash 、 anr 、启动卡死)
* 调用此方法后,无需再调用 initFaultTrack、startPerformanceMonitor 方法
* 注意:启动完成的时候,需要手动调用 MPRemoteLogger.startupFinish() 方法以通知完成启动
*/
MPRemoteLogger.initPerformanceTrack();
// App启动完成的时候,调用下述代码通知完成启动
MPRemoteLogger.startupFinish();当您需要选择性接入 Crash 监控、启动卡死监控时,请不要调用总初始化接口,而是根据需求分别调用下述所需的接口。
Crash 和 ANR 监控
执行如下初始化操作,即可自动化进行 Crash 和 ANR 监控。
import { MPRemoteLogger } from '@mpaas/masadapter';
MPRemoteLogger.initFaultTrack();启动卡死监控
执行如下初始化,即可自动化启动卡死监控。
import { MPRemoteLogger } from '@mpaas/masadapter';
// App启动时,开启卡死监控
MPRemoteLogger.startPerformanceMonitor();
// App启动完成的时候,调用下述代码通知完成启动
MPRemoteLogger.startupFinish();启动速度监控
在 App 启动完成时手动调用上报启动埋点。
import { MPRemoteLogger } from '@mpaas/masadapter';
const startupTime = startup; //单位为毫秒
MPRemoteLogger.reportStartupTime(startupTime);页面性能监控
初始化页面自动化监控。
import { MPRemoteLogger } from '@mpaas/masadapter';
//在自定义的 UIAbility 里调用下述方法初始化页面自动化监控
//示例
onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
//全埋点页面自动化初始化
MPRemoteLogger.initUIAutoTrack(this.context);
}H5 性能监控
H5 性能监控的埋点由 mPaaS H5 容器自动完成,您接入 H5 容器即可,无需手动进行埋点。
可选配置
有个性化配置需求时,可以使用下述接口进行配置。
埋点开关
当需要关闭埋点时,可以参考如下设置。
import { MPRemoteLogger } from '@mpaas/masadapter';
/**
* 关闭埋点
*/
MPRemoteLogger.enableLog(false);强制触发上报
import { MPRemoteLogger } from '@mpaas/masadapter';
/**
* 强制上报(内存中还未上报的)所有的埋点 (非必要时不要使用, 批量上报埋点有网络资源消耗)
*/
MPRemoteLogger.uploadAllLog();通用扩展字段
设置通用的埋点扩展字段。
import { MPRemoteLogger } from '@mpaas/masadapter';
MPRemoteLogger.setFoundationExtend('your custom field');保留已上报的埋点
当需要保留已上报成功的埋点文件时,请调用下述方法。
import { MPRemoteLogger } from '@mpaas/masadapter';
MPRemoteLogger.reserveUploadedLog(true);该方法适用于开发测试阶段调试,生产环境包不建议使用。
查看埋点
当需要查看埋点时,可以在手机目录
/data/app/el2/100/base/bundleid(替换为应用的 bundleid)/haps/entry/files/mptrack中查看。未上报成功的埋点可在 logs 和 upload 目录中查看。
若开启保留已上报埋点的接口,可以在 uploaded 目录中查看已经上报成功的埋点。
埋点开关配置可在 logConfig 文件查看。