Trace 설정¶
Trace 초기화 설정¶
let traceConfig: FTTraceConfig = {
enableNativeAutoTrace: true,
};
await FTReactNativeTrace.setConfig(traceConfig);
| 필드 | 유형 | 필수 | 설명 |
|---|---|---|---|
| sampleRate | number | 아니요 | 샘플링 비율, 범위 [0,1], 0은 수집 안 함, 1은 전체 수집, 기본값은 1 |
| traceType | enum TraceType | 아니요 | 추적 유형, 기본값은 TraceType.ddTrace입니다. TraceType.ddTrace, TraceType.zipkinMulti, TraceType.zipkinSingle, TraceType.traceparent, TraceType.skywalking, TraceType.jaeger를 지원합니다 |
| enableLinkRUMData | boolean | 아니요 | RUM 데이터와 연결할지 여부, 기본값은 false |
| enableNativeAutoTrace | boolean | 아니요 | 네이티브 네트워크 자동 추적(iOS NSURLSession, Android OKhttp)을 활성화할지 여부입니다. React Native의 네트워크 요청은 iOS, Android에서 시스템 API를 사용하여 구현되므로, 활성화하면 모든 React Native 요청 데이터를 함께 추적할 수 있습니다 |
Tracer 네트워크 분산 추적¶
SDK 초기화 시 Trace 설정에서 자동 네트워크 분산 추적을 활성화할 수 있으며, 사용자 정의 수집도 지원합니다.
사용 방법¶
/**
* trace HTTP 요청 헤더 데이터를 가져옵니다.
* @deprecated getTraceHeaderFields()를 사용하세요.
*/
getTraceHeader(key: String, url: String): Promise<object>;
/**
* trace HTTP 요청 헤더 데이터를 가져옵니다.
*/
getTraceHeaderFields(url: String, key?: String): Promise<object>;
사용 예시¶
import { FTReactNativeTrace } from '@cloudcare/react-native-mobile';
async function getHttp(url: string) {
const key = Utils.getUUID();
const traceHeader = await FTReactNativeTrace.getTraceHeaderFields(url);
const fetchOptions = {
method: 'GET',
headers: Object.assign(
{
Accept: 'application/json',
'Content-Type': 'application/json',
},
traceHeader,
),
};
fetch(url, fetchOptions);
}