[17.0.0.3 以及更新版本]

Dropwizard 度量移轉

MicroProfile 度量 API 類似於 Dropwizard 度量 3.2.3。在大部分情況下,使用 Dropwizard 度量來檢測的程式碼,可以與 MicroProfile 度量搭配執行,只是要進行少量的變更。

MicroProfile 度量中的重要差異

  • metrics-core 和 metrics-annotation 中只有一部分的核心類別可以使用。
  • 類別會包裝在 org.eclipse.microprofile.metricsorg.eclipse.microprofile.metrics.annotation 之下。
  • 計數器、直方圖、計時器、計量和 MetricRegistry 是介面。
  • 可以使用 CDI 來取得 MetricRegistry 和度量實例。
  • 只有一個共用的應用程式 MetricRegistry。
  • 可提供 meta 資料,並向度量登錄。
  • 無法提供自訂時鐘和儲備池。

套件名稱

Dropwizard metrics-core 和 metrics-annotation 套件中的一部分類別,可在 MicroProfile 度量套件 org.eclipse.microprofile.metrics 中找到。下列範例說明如何更新 Dropwizard 度量類別的套件名稱,以便與 MicroProfile 度量搭配運作。
  • com.codahale.metrics 變成 org.eclipse.microprofile.metrics
  • com.codahale.metrics.annotation 變成 org.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