256장. OpenTracing Component
Camel 2.19에서 사용 가능
Camel 2.21부터 OpenTracing Java API 버전 0.31 이상과 호환되는 OpenTracing 불만 추적기를 사용해야 합니다.
camel-opentracing 구성 요소는 OpenTracing을 사용하여 들어오고 나가는 Camel 메시지를 추적하고 타이밍하는 데 사용됩니다.
Camel로/에서 전송되는 수신 및 발신 메시지의 경우 이벤트(spans)가 캡처됩니다.
지원되는 추적기 목록은 OpenTracing 웹 사이트를 참조하십시오.
256.1. 설정
OpenTracing 추적기의 구성 속성은 다음과 같습니다.
옵션 | 기본값 | 설명 |
---|---|---|
excludePatterns | 패턴과 일치하는 Camel 메시지의 추적을 비활성화하는 exclude 패턴을 설정합니다. 내용은 키가 패턴인 Set<String>입니다. 이 패턴은 인터셉터의 규칙을 사용합니다. | |
인코딩 | false | 헤더 키를 인코딩(연결 특정)해야 하는지 여부를 설정합니다. 값은 부울입니다. JMS 속성 키를 위해 인스턴스를 인코딩해야 합니다. |
Camel 애플리케이션에 대해 분산 추적을 제공하도록 OpenTracing tracer를 구성하는 방법에는 세 가지가 있습니다.
256.1.1. 명시적인
선택한 OpenTracing Tracer와 관련된 특정 종속성과 함께 POM에 camel-opentracing
구성 요소를 포함합니다.
OpenTracing 지원을 명시적으로 구성하려면 OpenTracingTracer
를 인스턴스화하고 camel 컨텍스트를 초기화합니다. 선택적으로 추적기를 지정
하거나 레지스트리
또는 ServiceLoader
를 사용하여 암시적으로 검색할 수 있습니다.
OpenTracingTracer ottracer = new OpenTracingTracer(); // By default it uses a Noop Tracer, but you can override it with a specific OpenTracing implementation. ottracer.setTracer(...); // And then initialize the context ottracer.init(camelContext);
XML에서 OpenTracingTracer를 사용하려면 OpenTracing tracer 빈을 정의하는 것입니다. Camel은 자동으로 검색 및 사용할 것입니다.
<bean id="tracer" class="..."/> <bean id="ottracer" class="org.apache.camel.opentracing.OpenTracingTracer"> <property name="tracer" ref="tracer"/> </bean>