跳转至

小程序应用接入


通过引入 SDK 文件,收集小程序应用的性能指标、错误日志和资源请求数据,并上报到观测云平台,以可视化方式分析小程序应用的性能。

前置条件(datakit 接入)

开始接入

  1. 进入用户访问监测 > 新建应用 > Web
  2. 输入应用名称;
  3. 输入应用 ID;
  4. 选择应用接入方式:

  5. 公网 DataWay:直接接收 RUM 数据,无需安装 DataKit 采集器。

  6. 本地环境部署:满足前置条件后接收 RUM 数据。

接入方式

  1. 确保 DataKit 已安装并配置为公网可访问,并安装 IP 地理信息库
  2. 在控制台获取 applicationIdenvversion 等参数,开始接入应用
  3. 集成 SDK 时,将 datakitOrigin 设置为 DataKit 的域名或 IP。

  1. 在控制台获取 applicationIdclientTokensite 等参数,开始接入应用
  2. 集成 SDK 时无需配置 datakitOrigin,数据将默认发送到公网 DataWay。

使用方法

在小程序的 app.js 文件以如下方式引入代码:

注意:引入位置需要在 App() 初始化之前。

NPM 包引入方式可参考微信官方 npm 引入方式

const { datafluxRum } = require('@cloudcare/rum-miniapp')
// 初始化 Rum
datafluxRum.init({
  datakitOrigin: '<DATAKIT ORIGIN>',// 必填,Datakit域名地址 需要在微信小程序管理后台加上域名白名单
  site: "http://172.16.212.186:9529", // 公网 DataWay 对应站点的域名
  clientToken: "a993f53a8ea04bc6b9350e5e670a3a3b", //公网 DataWay 上报所需的客户端 token,在观测云控制台创建应用时生成
  applicationId: '<应用 ID>', // 必填,dataflux 平台生成的应用ID
  env: 'testing', // 选填,小程序的环境
  version: '1.0.0', // 选填,小程序版本
  service: 'miniapp', //当前应用的服务名称
  trackInteractions: true,
  traceType: 'ddtrace', // 非必填,默认为ddtrace,目前支持 ddtrace、zipkin、skywalking_v3、jaeger、zipkin_single_header、w3c_traceparent 6种类型
  allowedTracingOrigins: ['https://api.example.com',/https:\/\/.*\.my-api-domain\.com/],  // 非必填,允许注入trace采集器所需header头部的所有请求列表。可以是请求的origin,也可以是正则
})

下载文件本地方式引入

const { datafluxRum } = require('./lib/dataflux-rum-miniapp.js')
// 初始化 Rum
datafluxRum.init({
  datakitOrigin: '<DATAKIT ORIGIN>',// 必填,Datakit域名地址 需要在微信小程序管理后台加上域名白名单
  site: "http://172.16.212.186:9529", // 公网 DataWay 对应站点的域名
  clientToken: "a993f53a8ea04bc6b9350e5e670a3a3b", //公网 DataWay 上报所需的客户端 token,在观测云控制台创建应用时生成
  applicationId: '<应用 ID>', // 必填,dataflux 平台生成的应用ID
  env: 'testing', // 选填,小程序的环境
  version: '1.0.0', // 选填,小程序版本
  service: 'miniapp', //当前应用的服务名称
  trackInteractions: true,
  traceType: 'ddtrace', // 非必填,默认为ddtrace,目前支持 ddtrace、zipkin、skywalking_v3、jaeger、zipkin_single_header、w3c_traceparent 6种类型
  allowedTracingOrigins: ['https://api.example.com',/https:\/\/.*\.my-api-domain\.com/],  // 非必填,允许注入trace采集器所需header头部的所有请求列表。可以是请求的origin,也可以是正则
})

配置

初始化参数

参数 类型 是否必须 默认值 描述
applicationId String 从观测云创建的应用 ID。
datakitOrigin String DataKit 数据上报 Origin;
❗️ 需要在小程序管理后台加上 request 白名单。
site String 是(公网dataway上报方式 必填) 公网 DataWay 对应站点的域名 注释: 协议(包括://),域名(或IP地址)[和端口号] 例如:https://www.dataway.com, http://100.20.34.3:8088
clientToken String 是 (公网dataway 必填) 公网 DataWay 上报所需的客户端 token,在观测云控制台创建应用时生成
env String 小程序应用当前环境,如 prod:线上环境;gray:灰度环境;pre:预发布环境;common:日常环境;local:本地环境。
version String 小程序应用的版本号。
service String 当前应用的服务名称,默认为 miniapp,支持自定义配置。
sampleRate Number 100 指标数据收集百分比:100 表示全收集,0 表示不收集。
trackInteractions Boolean false 是否开启用户行为采集。
traceType Enum ddtrace 配置链路追踪工具类型,如果不配置默认为 ddtrace。目前支持 ddtracezipkinskywalking_v3jaegerzipkin_single_headerw3c_traceparent 6 种数据类型。
❗️
1. opentelemetry 支持 zipkin_single_headerw3c_traceparentzipkinjaeger 4 种类型。
2. 配置相应类型的 traceType 需要对相应的 API 服务 设置不同的 Access-Control-Allow-Headers,可参考 APM 如何关联 RUM
traceId128Bit Boolean false 是否以 128 字节的方式生成 traceID,与traceType 对应,目前支持类型 zipkinjaeger
allowedTracingOrigins Array [] 【新增】允许注入 ddtrace 采集器所需 header 头部的所有请求列表。可以是请求的 origin,也可以是正则,origin:协议(包括://),域名(或IP地址)[和端口号]。_例如:["https://api.example.com", /https:\\/\\/._\\.my-api-domain\\.com/]*
isIntakeUrl Function function(url) {return false} 自定义方法根据请求资源 url 判断是否需要采集对应资源数据,默认都采集。返回:false 表示要采集,true 表示不需要采集。
❗️
1. 该参数方法返回结果必须为 Boolean 类型,否则认为是无效参数。
2. 版本要求为 2.1.10 及以上。

注意

  1. datakitOrigin 所对应的 DataKit 域名必须在小程序管理后台加上 request 白名单。
  2. 因为目前微信小程序请求资源 API wx.requestwx.downloadFile 返回数据中 profile 字段目前 ios 系统不支持返回,所以会导致收集的资源信息中和 timing 相关的数据收集不全。目前暂无解决方案:requestdownloadFileAPI 支持情况
  3. trackInteractions 用户行为采集开启后,因为微信小程序的限制,无法采集到控件的内容和结构数据,所以在小程序 SDK 里面我们采取的是声明式编程,通过在 wxml 文件里面设置 data-name 属性,可以给交互元素添加名称,方便后续统计是定位操作记录, 例如:
<button bindtap="bindSetData" data-name="setData">
  setData
</button>

文档评价

文档内容是否对您有帮助? ×