(레거시) Ruby 트레이스 컨텍스트 전파 (Propagating Ruby Trace Context)
Ruby ddtrace gem v1.x에서 분산 트레이싱을 위한 헤더 추출과 주입을 설정하는 방법을 안내해요.
출처: 문서
본문
주의: 이 문서는 ddtrace gem v1.x를 위한 문서예요. datadog gem v2.0 이상을 사용한다면 최신 Ruby 트레이스 컨텍스트 전파 문서를 참조하세요.
헤더 추출 및 주입
Datadog SDK는 분산 트레이싱을 위해 B3 및 W3C Trace Context 헤더 추출과 주입을 지원해요.
분산 헤더의 주입과 추출은 주입 및 추출 스타일을 구성해 제어해요. 다음 스타일을 지원해요:
- Datadog:
datadog - B3 Multi Header:
b3multi - B3 Single Header:
b3 - W3C Trace Context:
tracecontext - No-op:
none
주입 스타일은 다음으로 구성할 수 있어요:
- 환경 변수:
DD_TRACE_PROPAGATION_STYLE_INJECT=datadog,b3
환경 변수의 값은 주입에 활성화된 헤더 스타일의 쉼표로 구분된 목록이에요. 기본 설정은 datadog,tracecontext예요.
추출 스타일은 다음으로 구성할 수 있어요:
- 환경 변수:
DD_TRACE_PROPAGATION_STYLE_EXTRACT=datadog,b3
환경 변수의 값은 추출에 활성화된 헤더 스타일의 쉼표로 구분된 목록이에요. 기본 설정은 datadog,tracecontext예요.
여러 추출 스타일이 활성화되어 있으면 해당 스타일이 구성된 순서대로 추출을 시도하며, 첫 번째로 성공적으로 추출된 값이 사용돼요.
기본 추출 스타일은 순서대로 datadog, b3multi, b3, tracecontext예요.
또한 코드에서 Datadog.configure를 사용해 이러한 형식의 사용을 활성화하거나 비활성화할 수 있어요:
Datadog.configure do |c|
# 추출해야 하는 헤더 형식 목록
c.tracing.distributed_tracing.propagation_extract_style = [ 'tracecontext', 'datadog', 'b3' ]
# 주입해야 하는 헤더 형식 목록
c.tracing.distributed_tracing.propagation_inject_style = [ 'tracecontext', 'datadog' ]
end
트레이스 컨텍스트 전파 구성에 대한 자세한 내용은 Ruby SDK 구성 문서의 분산 트레이싱 섹션을 읽어보세요.