콘텐츠로 이동

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(기본값), 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을 반환할 수 있습니다.

문서 평가

이 페이지가 도움이 되었나요?