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>