38.2. 설정
AWS X Cryostat 추적기의 구성 속성은 다음과 같습니다.
옵션 | Default | 설명 |
---|---|---|
addExcludePatterns |
| 패턴과 일치하는 Camel 메시지의 추적을 비활성화하는 exclude 패턴을 설정합니다. 내용은 routeId와 일치하는 패턴인 Set<String>입니다. 이 패턴은 인터셉의 규칙을 사용합니다. |
setTracingStrategy | NoopTracingStrategy |
Quarkus |
현재 Camel 애플리케이션에 대한 분산 추적을 제공하도록 AWS X Cryostat 추적기를 구성할 수 있는 방법은 한 가지뿐입니다.
38.2.1. 명시적
AWS X Cryostat 추적기와 관련된 특정 종속성과 함께 POM에 camel-aws-xray
구성 요소를 포함합니다.
AWS X Cryostat 지원을 명시적으로 구성하려면 X Cryostat Tracer
를 인스턴스화하고 카멜 컨텍스트를 초기화합니다. 선택적으로 추적기
를 지정하거나 레지스트리
또는 ServiceLoader
를 사용하여 암시적으로 검색할 수 있습니다.
XRayTracer xrayTracer = new XRayTracer(); // By default it uses a NoopTracingStrategy, but you can override it with a specific InterceptStrategy implementation. xrayTracer.setTracingStrategy(...); // And then initialize the context xrayTracer.init(camelContext);
XML에서 X CryostatTracer를 사용하려면 AWS X Cryostat 추적기 8080을 정의하는 것입니다. Camel에서 자동으로 검색하고 사용합니다.
<bean id="tracingStrategy" class="..."/> <bean id="aws-xray-tracer" class="org.apache.camel.component.aws.xray.XRayTracer" /> <property name="tracer" ref="tracingStrategy"/> </bean>
기본 NoopTracingStrategy
의 경우 교환의 생성 및 삭제 만 추적되지만 특정 빈 또는 EIP 패턴의 호출은 추적되지 않습니다.
38.2.2. 포괄적인 경로 실행 추적
여러 경로 간에 교환 실행을 추적하기 위해 교환 시 고유한 추적 ID가 생성되고 해당 값을 사용할 수 없는 경우 헤더에 저장됩니다. 이 추적 ID는 처리된 교환에 대한 일관된 보기를 유지하기 위해 새로운 교환으로 복사됩니다.
AWS Xundercloud 추적은 스레드 로컬에서 작동하기 때문에 현재 하위/세그먼트는 새 스레드로 복사되어야 하며 AWS X Cryostat 문서에서 설명한 대로 설정되어야 합니다. 따라서 Camel AWS X Cryostat 구성 요소는 구성 요소가 전달된 AWS X Cryostat 엔터티
를 새 스레드로 설정하기 위해 사용할 추가 헤더 필드를 제공하므로 실행된 경로와 관련이 없는 새 세그먼트를 노출하지 않고 추적된 데이터를 경로에 보관합니다.
구성 요소는 교환 헤더에 있는 다음 상수를 사용합니다.
헤더 | 설명 |
---|---|
Camel-AWS-XRay-Trace-ID |
호출된 경로에 대한 포괄적인 보기를 제공하는 AWS X Cryostat |
Camel-AWS-XRay-Trace-Entity |
새 스레드로 복사되는 실제 AWS X Cryostat |
AWS X Cryostat Entity
(예: Segment
및 Subsegment
)는 직렬화할 수 없으므로 다른 JVM 프로세스에 전달해서는 안 됩니다.