接入 HarmonyOS NEXT

更新时间:
复制为 MD 格式

移动性能监控(APM)依赖移动分析客户端 SDK 来进行埋点,收集 App 性能相关数据生成日志并上报到服务端。根据 mPaaS 客户端与服务端协定的埋点数据格式,服务端从客户端上传的埋点日志中提取有效数据,从而实现对客户端各项指标的监控分析。

本文介绍如何在 HarmonyOS NEXT 客户端配置性能监控埋点,包括 网络监控H5 性能监控页面加载监控启动速度监控

前提条件

性能监控

总初始化接口

性能监控的总初始化接口,调用之后无需再进行 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 文件查看。