Trace 配置¶
Trace 初始化配置¶
var tracer = uni.requireNativePlugin("GCUniPlugin-Tracer");
tracer.setConfig({
traceType: 'ddTrace'
});
| 参数名称 | 参数类型 | 必须 | 参数说明 |
|---|---|---|---|
| samplerate | number | 否 | 采样率,范围 [0,1],默认 1 |
| traceType | string | 否 | 链路类型:ddTrace(默认)、zipkinMultiHeader、zipkinSingleHeader、traceparent、skywalking、jaeger |
| enableLinkRUMData | boolean | 否 | 是否与 RUM 数据关联,默认 false |
| enableNativeAutoTrace | boolean | 否 | 是否开启原生网络自动追踪。iOS 支持 NSURLSession,Android 支持 OKhttp,默认 false;Android 云打包不支持。由于 uni-app 在 iOS 端通过系统 API 发起网络请求,开启后这些请求会被自动追踪;此时请屏蔽 iOS 侧手动 Trace 采集,避免链路与 RUM 数据关联错误 |
Tracer 网络链路追踪¶
自动采集¶
通过 gcRequest.request 发起请求时,会自动追加 Propagation Header。可参考 RUM 配置中的 Resource 采集。
手动采集¶
var tracer = uni.requireNativePlugin("GCUniPlugin-Tracer");
let key = Utils.getUUID();
var header = tracer.getTraceHeader({
key: key,
url: requestUrl
});
uni.request({
url: requestUrl,
header: header,
success() {
},
complete() {
}
});
API - getTraceHeader¶
获取 Trace 请求头,并将其添加到 HTTP 请求头中。
| 字段 | 类型 | 必须 | 说明 |
|---|---|---|---|
| key | string | 是 | 请求唯一标识 |
| url | string | 是 | 请求 URL |
返回值类型:object