本文介绍如何使用ARMS前端监控开始监控支付宝小程序,以及相关的通用配置、API方法和进阶场景。
基础使用方法
-
引入npm包并初始化:
-
在支付宝小程序的项目中引入
@arms/js-sdknpm包,以便使用该模块来上报日志。npm install @arms/js-sdk -
将以下内容添加至 /utils目录下的monitor.js文件中以完成初始化。
说明您可以自定义JS文件的名称和存放位置。
import AlipayLogger from '@arms/js-sdk/miniapp'; const Monitor = AlipayLogger.init({ pid: 'xxx', region: "cn", // 指定应用部署的地域:中国设为cn,中国以外地域设为sg。 }); export default Monitor;说明关于参数的详细配置,请参见通用SDK配置项。
-
-
设置安全域名:
-
如果region设为
cn,则将arms-retcode.aliyuncs.com添加到HTTP安全域名。 -
如果region设为
sg,则将arms-retcode-sg.aliyuncs.com添加到HTTP安全域名。
-
API方法:其他设置API
|
方法 |
参数 |
备注 |
|
setCommonInfo |
{[key: string]: string;} |
设置日志基础字段,可用于灰度发布等场景。 |
|
setConfig |
{[key: string]: string;} |
设置config字段,具体操作,请参见SDK参考。 |
|
pageShow |
{} |
Page Show埋点,发送PV数据。 |
|
pageHide |
{} |
Page Hide埋点,发送Health数据。 |
|
error |
String/Object |
错误日志埋点。 |
|
api |
请参见前端接口说明 |
API类日志上报。 |
|
sum/avg |
String |
自定义求和、求均值日志上报。 |
进阶场景
当基础使用方法无法满足需求时,请参见以下进阶场景:
-
手动上报API相关信息(不采用静默上报方式):
-
将disableHook设为
true,不静默上报my.httpRequest请求的日志。 -
手动调用api()方法上报API相关信息。
-
-
取消静默上报并改为手动埋点:
-
在App和Page对应的JS文件中不再使用hookApp、hookPage方法。
-
如需发送当前页面的PV数据,则在Page的onShow方法下调用pageShow()方法。
说明请勿与hookPage()方法同时使用此方法,否则会造成PV类日志重复上报。
import Monitor from '/util/monitor'; Page({ onShow: function() { Monitor.pageShow(); } }) -
如需发送当前页面的Health类数据,统计当前页面的健康度和页面停留时间,则在Page的onHide和onUnload方法下调用pageHide()方法。
说明请勿与hookPage()方法同时使用pageHide(),否则会造成日志重复上报。
import Monitor from '/util/monitor'; Page({ onHide: function() { Monitor.pageHide(); }, onUnload: function() { Monitor.pageHide(); } ... })
-
通用SDK配置项
ARMS前端监控提供一系列SDK配置项,让您能够通过设置参数来满足额外需求。以下是适用于本文场景的通用配置项。
|
|
|
|
|
|
|
pid |
String |
项目唯一ID,由ARMS在创建站点时自动生成。 |
是 |
无 |
|
uid |
String |
用户ID,用于标识访问用户,可手动配置,用于根据用户ID检索。如果不配置,则由SDK随机自动生成且每半年更新一次。 |
否 |
由SDK自动生成 |
|
tag |
String |
传入的标记,每条日志都会携带该标记。 |
否 |
无 |
|
release |
String |
应用版本号。建议您配置,便于查看不同版本的上报信息。 |
否 |
|
|
environment |
String |
环境字段,取值为:prod、gray、pre、daily和local,其中:
|
否 |
|
|
sample |
Integer |
日志采样配置,值为1~100的整数。对性能日志和成功API日志按照 |
否 |
|
|
behavior |
Boolean |
是否为了便于排查错误而记录报错的用户行为。 |
否 |
|
|
enableLinkTrace |
Boolean |
进行前后端链路追踪,请参见使用前后端链路追踪诊断API错误原因。 |
否 |
|
ARMS前端监控还提供了更多SDK配置项,可满足进一步的需求。更多信息,请参见SDK参考。