跳转至

Trace 配置

获取 Tracer

普通 uni-app:

import { tracer } from '@/uni_modules/GC-UniPlugin';

uni 小程序:

import { tracer } from '@/uni_modules/GC-JSPlugin';

uni 小程序由宿主 App 完成 Trace 初始化,只调用 getTraceHeader() 等运行时 API。

Trace 初始化配置

tracer.setConfig({
    traceType: 'ddTrace',
    enableLinkRUMData: true
});
参数名称 参数类型 必须 参数说明
sampleRate number 采样率,范围 [0,1],默认 1
traceType string 链路类型:ddTrace(默认)、zipkinMultiHeaderzipkinSingleHeadertraceparentskywalkingjaeger
enableLinkRUMData boolean 是否与 RUM 数据关联,默认 false
enableAutoTrace boolean 是否开启原生网络自动追踪。iOS 支持 NSURLSession,Android 支持 OKhttp,默认 false;Android 云打包不支持。由于 uni-app 在 iOS 端通过系统 API 发起网络请求,开启后这些请求会被自动追踪;此时请屏蔽 iOS 侧手动 Trace 采集,避免链路与 RUM 数据关联错误

Tracer 网络链路追踪

自动采集

启用 gcResourceTracking 后,标准 uni.request 会自动获取并合并 Trace Header,无需替换请求方法。详情见 Resource 自动采集

手动采集

const requestUrl = 'https://example.com/api';
const key = 'YOUR_REQUEST_ID';
const traceHeader = tracer.getTraceHeader({
    key,
    url: requestUrl
}) || {};

uni.request({
    url: requestUrl,
    header: traceHeader
});

API - getTraceHeader

获取 Trace 请求头,并将其添加到 HTTP 请求头中。

字段 类型 必须 说明
url string 请求 URL
key string 请求唯一标识;需要与 RUM Resource 关联时应传入相同的 key

返回值类型:object | null。宿主模块不可用或请求不满足 Trace 配置时可能返回 null

文档评价

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