255장. OpenTracing Component


Camel 2.19에서 사용 가능

중요

Camel 2.21부터 OpenTracing Java API 버전 0.31 이상과 호환되는 OpenTracing 불만 추적기를 사용해야 합니다.

camel-opentracing 구성 요소는 OpenTracing을 사용하여 들어오고 나가는 Camel 메시지를 추적하고 타이밍하는 데 사용됩니다.

Camel로/에서 전송되는 수신 및 발신 메시지의 경우 이벤트(spans)가 캡처됩니다.

지원되는 추적기 목록은 OpenTracing 웹 사이트를 참조하십시오.

255.1. 설정

OpenTracing 추적기의 구성 속성은 다음과 같습니다.

옵션기본값설명

excludePatterns

 

패턴과 일치하는 Camel 메시지의 추적을 비활성화하는 exclude 패턴을 설정합니다. 내용은 키가 패턴인 Set<String>입니다. 이 패턴은 인터셉터의 규칙을 사용합니다.

Camel 애플리케이션에 대해 분산 추적을 제공하도록 OpenTracing tracer를 구성하는 방법에는 세 가지가 있습니다.

255.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>

255.1.2. Spring Boot

Spring Boot를 사용하는 경우 camel-opentracing-starter 종속성을 추가하고 @CamelOpenTracing 으로 기본 클래스에 주석을 달아 OpenTracing을 설정할 수 있습니다.

추적기 빈이 애플리케이션에 의해 정의되지 않은 경우 camel 컨텍스트의 레지스트리 또는 ServiceLoader 에서 Tracer 를 암시적으로 가져옵니다.

255.1.3. Java Agent

세 번째 방법은 Java 에이전트를 사용하여 OpenTracing 지원을 자동으로 구성하는 것입니다.

선택한 OpenTracing Tracer와 관련된 특정 종속성과 함께 POM에 camel-opentracing 구성 요소를 포함합니다.

OpenTracing Java Agent는 다음 종속 항목과 연결됩니다.

    <dependency>
      <groupId>io.opentracing.contrib</groupId>
      <artifactId>opentracing-agent</artifactId>
    </dependency>

사용된 추적기 는 camel 컨텍스트 레지스트리에서 또는 ServiceLoader 를 사용하여 암시적으로 로드됩니다.

이 에이전트를 사용하는 방법은 애플리케이션을 실행하는 방법에 따라 다릅니다. camel-example-opentracingService2 는 에이전트를 로컬 폴더로 다운로드한 다음 exec-maven-plugin 을 사용하여 -javaagent 명령줄 옵션으로 서비스를 시작합니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.