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을 반환할 수 있습니다.