본문 바로가기
WIKI 기술 지식 베이스

(레거시) 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 구성 문서의 분산 트레이싱 섹션을 읽어보세요.

더 알아보기 (Learn more)