Trace 配置¶
获取 Tracer¶
普通 uni-app:
uni 小程序:
uni 小程序由宿主 App 完成 Trace 初始化,只调用 getTraceHeader() 等运行时 API。
Trace 初始化配置¶
| 参数名称 | 参数类型 | 必须 | 参数说明 |
|---|---|---|---|
| sampleRate | number | 否 | 采样率,范围 [0,1],默认 1 |
| traceType | string | 否 | 链路类型:ddTrace(默认)、zipkinMultiHeader、zipkinSingleHeader、traceparent、skywalking、jaeger |
| 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。