[17.0.0.3 and later]

Dropwizard 메트릭 마이그레이션

MicroProfile 메트릭 API는 Dropwizard 메트릭 3.2.3과 유사합니다. 대부분의 경우, Dropwizard 메트릭으로 인스트루먼트된 코드는 몇 가지 사소한 변경사항이 포함된 MicroProfile 메트릭으로 실행될 수 있습니다.

MicroProfile 메트릭의 주요 차이점

  • 메트릭 코어 및 메트릭 어노테이션의 코어 클래스 서브세트만 사용할 수 있습니다.
  • 클래스는 org.eclipse.microprofile.metricsorg.eclipse.microprofile.metrics.annotation 아래에 패키지됩니다.
  • 카운터, 히스토그램, 타이머, 미터 및 MetricRegistry는 인터페이스입니다.
  • CDI를 사용하여 MetricRegistry 및 메트릭 인스턴스를 가져올 수 있습니다.
  • 단일 공유 애플리케이션 MetricRegistry
  • 메타데이터를 제공하고 메트릭에 등록할 수 있습니다.
  • 사용자 정의 시계 및 저장소는 제공할 수 없습니다.

패키지 이름

Dropwizard 메트릭 코어 및 메트릭 어노테이션 패키지의 클래스 서브세트는 MicroProfile 메트릭 패키지 org.eclipse.microprofile.metrics에서 찾을 수 있습니다. 다음 예제는 MicroProfile 메트릭으로 작업하도록 Dropwizard 메트릭 클래스의 패키지 이름을 업데이트할 수 있는 방법을 보여줍니다.
  • com.codahale.metricsorg.eclipse.microprofile.metrics가 됨
  • com.codahale.metrics.annotationorg.eclipse.microprofile.metrics.annotation이 됨

MetricRegistry 얻기

MetricRegistry는 인터페이스입니다. 레지스트리의 인스턴스를 작성하지 않고 대신 CDI를 사용하여 애플리케이션 MetricRegistry를 삽입할 수 있습니다.

다음을 사용하지 않습니다.
// Dropwizard snippet
MetricRegistry metrics = new MetricRegistry();
// or
MetricRegistry sharedMetrics = SharedMetricRegistries.getOrCreate(...);
대신 다음을 사용할 수 있습니다.
@Inject
MetricRegistry metrics;

카운터, 히스토그램, 타이머, 미터 인터페이스

카운터, 히스토그램, 타이머 및 미터는 인터페이스입니다. 이들은 직접 인스턴스화할 수 없으므로 레지스트리를 사용하거나 CDI를 사용하여 작성해야 합니다. 예:

Counter jobCount = metrics.counter("jobs");

//Example using annotation
@Inject
@Metric(name="jobs", absolute=true)
Counter jobCount;

주제의 유형을 표시하는 아이콘 개념 주제

파일 이름: cwlp_mp_mig_dropwizard.html